Function at 0x45be70
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4eb8dc
mov eax, dword fs:[0]
push eax
sub esp, 0x124
mov eax, dword [0x521808]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x128]
xor ebx, ebx
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x10c], ebx
push ecx
mov eax, dword [esi]
mov ecx, esi
mov dword [ebp - 0xf8], ebx
call dword [eax + 0x3c]
lea ecx, [ebp - 0x130]
push ecx
mov ecx, esi
mov eax, dword [eax + 4]
mov dword [ebp - 0x100], eax
mov eax, dword [esi]
call dword [eax + 0x3c]
mov eax, dword [eax]
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x44], 0xf
mov dword [ebp - 0x48], ebx
mov byte [ebp - 0x58], bl
mov eax, dword [edi + 0x30]
mov dword [ebp - 0x114], eax
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x120], eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x118]
mov dword [ebp - 4], ebx
push eax
push esi
mov byte [ebp - 0xf9], bl
call fcn.004a3c40
add esp, 0xc
test al, al
je 0x45bf6d
push 1
push 0x4fa078
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], ebx
mov byte [ebp - 0x28], bl
call fcn.00414f00
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 1
mov ebx, 1
mov ecx, edi
push eax
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0x10c], ebx
call fcn.00463f50
mov byte [ebp - 0xf1], bl
test al, al
jne 0x45bf74
mov byte [ebp - 0xf1], 0
mov dword [ebp - 4], 0
test bl, 1
je 0x45bf9e
mov eax, dword [ebp - 0x14]
and ebx, 0xfffffffe
mov dword [ebp - 0xf8], ebx
cmp eax, 0x10
jb 0x45bf9e
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.004040c0
cmp byte [ebp - 0xf1], 0
je 0x45c2ff
mov dword [ebp - 0x8c], 0xf
mov dword [ebp - 0x90], 0
mov byte [ebp - 0xa0], 0
mov dword [ebp - 0x74], 0xf
mov dword [ebp - 0x78], 0
mov byte [ebp - 0x88], 0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0xa0]
mov ecx, edi
push eax
call fcn.0045b720
test al, al
je 0x45c2a6
cmp dword [ebp - 0x8c], 0x10
lea eax, [ebp - 0xa0]
cmovae eax, dword [ebp - 0xa0]
cmp dword [ebp - 0x74], 0x10
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0x88]
cmovae eax, dword [ebp - 0x88]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0xec], eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0044eac0
add esp, 0xc
push 0x4f6428
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
call fcn.0040f990
push 1
lea ecx, [edi + 0x14]
mov byte [ebp - 4], 5
call fcn.00483350
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
call fcn.0045b580
push 0
lea ecx, [edi + 0x14]
mov bl, al
call fcn.00483350
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 4
cmp ecx, 0x10
jb 0x45c0ab
inc ecx
push ecx
push dword [ebp - 0x40]
lea ecx, [ebp - 0x40]
call fcn.004040c0
test bl, bl
je 0x45c27b
mov ecx, edi
call fcn.00464050
push 0x4fa048
lea ecx, [ebp - 0x40]
call fcn.0040f990
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 6
push eax
mov ecx, edi
call fcn.00463fc0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
mov bl, al
call fcn.00402f70
test bl, bl
je 0x45c0ef
mov ecx, edi
call fcn.00464050
mov dword [ebp - 0x5c], 0xf
mov dword [ebp - 0x60], 0
mov byte [ebp - 0x70], 0
mov ecx, dword [edi + 4]
mov ebx, dword [ebp - 0x104]
mov byte [ebp - 4], 7
test ecx, ecx
je 0x45c128
mov eax, dword [ecx]
lea edx, [ebp - 0xa0]
push edx
lea edx, [ebp - 0x88]
push edx
push ebx
call dword [eax + 0xc]
jmp 0x45c13f
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x88]
push eax
push ebx
call fcn.0045eda0
add esp, 0xc
test eax, eax
jne 0x45c1a2
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xb8]
push str.Could_not_find_type__
push eax
call fcn.0040a080
push 0x4fa07c
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 8
push eax
call fcn.00402be0
add esp, 0x18
push eax
push dword [edi + 0x34]
mov ecx, edi
mov byte [ebp - 4], 9
push dword [edi + 0x30]
call fcn.00462b60
lea ecx, [ebp - 0x40]
call fcn.00402f70
lea ecx, [ebp - 0xb8]
call fcn.00402f70
lea ecx, [ebp - 0x70]
xor bl, bl
call fcn.00402f70
jmp 0x45c27d
lea ecx, [ebp - 0x70]
push ecx
push eax
mov ecx, edi
call fcn.0045ba10
test al, al
je 0x45c193
cmp dword [edi + 0xa0], 1
jne 0x45c22f
mov ecx, dword [ebp - 0x118]
mov esi, dword [ebp - 0x100]
mov al, byte [ecx + 1]
and al, 0x60
cmp al, 0x60
je 0x45c1dd
push ecx
push ebx
mov ecx, esi
call fcn.0046aff0
test al, al
jne 0x45c1f9
mov ecx, dword [ebp - 0x11c]
mov al, byte [ecx + 1]
and al, 0x60
cmp al, 0x60
je 0x45c22f
push ecx
push ebx
mov ecx, esi
call fcn.0046aff0
test al, al
je 0x45c22f
push str.Non_repeated_Any_specified_multiple_times.
lea ecx, [ebp - 0x40]
call fcn.0040f990
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0xa
push eax
push dword [edi + 0x34]
mov ecx, edi
push dword [edi + 0x30]
call fcn.00462b60
lea ecx, [ebp - 0x40]
call fcn.00402f70
lea ecx, [ebp - 0x70]
xor bl, bl
call fcn.00402f70
jmp 0x45c27d
sub esp, 0x18
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.00402d30
push dword [ebp - 0x118]
mov ecx, dword [ebp - 0x100]
push ebx
call fcn.0046cda0
sub esp, 0x18
lea eax, [ebp - 0x70]
mov ecx, esp
push eax
call fcn.00402d30
push dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x100]
push ebx
call fcn.0046cda0
lea ecx, [ebp - 0x70]
mov bl, 1
call fcn.00402f70
jmp 0x45c27d
xor bl, bl
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x45c292
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.004040c0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
jmp 0x45c2a8
xor bl, bl
mov eax, dword [ebp - 0x74]
cmp eax, 0x10
jb 0x45c2c3
inc eax
lea ecx, [ebp - 0x88]
push eax
push dword [ebp - 0x88]
call fcn.004040c0
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x74], 0xf
mov dword [ebp - 0x78], 0
mov byte [ebp - 0x88], 0
cmp eax, 0x10
jb 0x45c46a
inc eax
lea ecx, [ebp - 0xa0]
push eax
push dword [ebp - 0xa0]
call fcn.004040c0
jmp 0x45c46a
push 1
push 0x4fa078
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
call fcn.00414f00
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xb
push eax
mov ecx, edi
call fcn.00463f50
mov ecx, dword [ebp - 0x14]
mov bl, al
mov byte [ebp - 4], 0
cmp ecx, 0x10
jb 0x45c34a
inc ecx
push ecx
push dword [ebp - 0x28]
lea ecx, [ebp - 0x28]
call fcn.004040c0
test bl, bl
je 0x45c501
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.0045d8c0
test al, al
je 0x45c468
push 0x4f6428
lea ecx, [ebp - 0x40]
call fcn.0040f990
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0xc
push eax
mov ecx, edi
call fcn.0045bbd0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
mov bl, al
call fcn.00402f70
test bl, bl
je 0x45c468
mov ecx, edi
call fcn.00464050
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x45c3b1
mov eax, dword [ecx]
lea edx, [ebp - 0x58]
push edx
push esi
call dword [eax + 4]
jmp 0x45c3be
lea eax, [ebp - 0x58]
push eax
push esi
call fcn.0045ee70
add esp, 8
mov esi, eax
test esi, esi
jne 0x45c5b8
cmp byte [edi + 0xa5], al
jne 0x45c49f
cmp byte [edi + 0xa6], al
jne 0x45c49f
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x28]
push str.Extension__
push eax
call fcn.0040a080
push str.__is_not_defined_or_is_not_an_extension_of__
push eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0xd
push eax
call fcn.00402be0
mov ecx, dword [ebp - 0x108]
mov byte [ebp - 4], 0xe
mov ecx, dword [ecx + 8]
add ecx, 0x18
push ecx
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00419ad0
push 0x4f67dc
push eax
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0xf
push eax
call fcn.00402be0
add esp, 0x30
mov byte [ebp - 4], 0x10
push eax
mov ecx, edi
call fcn.00462b40
lea ecx, [ebp - 0xb8]
call fcn.00402f70
lea ecx, [ebp - 0x40]
call fcn.00402f70
lea ecx, [ebp - 0x70]
call fcn.00402f70
lea ecx, [ebp - 0x28]
call fcn.00402f70
xor bl, bl
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x45c47f
inc ecx
push ecx
push dword [ebp - 0x58]
lea ecx, [ebp - 0x58]
call fcn.004040c0
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004af547
mov esp, ebp
pop ebp
ret 4
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x28]
push str.Ignoring_extension__
push eax
call fcn.0040a080
push str.__which_is_not_defined_or_is_not_an_extension_of__
push eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x11
push eax
call fcn.00402be0
mov ecx, dword [ebp - 0x108]
mov byte [ebp - 4], 0x12
mov ecx, dword [ecx + 8]
add ecx, 0x18
push ecx
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00419ad0
push 0x4f67dc
push eax
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x13
push eax
call fcn.00402be0
add esp, 0x30
mov byte [ebp - 4], 0x14
jmp 0x45c7d7
push 1
lea ecx, [edi + 0x14]
call fcn.00483350
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.0045db10
push 0
lea ecx, [edi + 0x14]
mov bl, al
call fcn.00483350
test bl, bl
je 0x45c468
mov ecx, edi
call fcn.00464050
cmp byte [edi + 0xa8], 0
je 0x45c637
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.0044f250
add esp, 8
test al, al
je 0x45c637
push dword [ebp - 0x110]
mov ebx, dword [ebp - 0x108]
mov ecx, ebx
call fcn.00460280
push dword [ebp - 0x110]
test al, al
je 0x45c58f
mov ecx, dword [edi + 4]
push ebx
test ecx, ecx
je 0x45c585
mov eax, dword [ecx]
call dword [eax + 8]
jmp 0x45c5ae
call fcn.0045eea0
add esp, 8
jmp 0x45c5ae
mov ecx, ebx
call fcn.004603e0
test al, al
je 0x45c5a1
mov al, 1
jmp 0x45c80c
push dword [ebp - 0x110]
mov ecx, ebx
call fcn.0043a300
mov esi, eax
test esi, esi
je 0x45c72b
cmp dword [edi + 0xa0], 1
jne 0x45ca6a
mov al, byte [esi + 1]
mov ebx, dword [ebp - 0x104]
and al, 0x60
cmp al, 0x60
je 0x45c968
mov ecx, dword [ebp - 0x100]
push esi
push ebx
call fcn.0046aff0
test al, al
je 0x45c968
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x40]
push str.Non_repeated_field__
push eax
call fcn.0040a080
push str.__is_specified_multiple_times.
push eax
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x22
push eax
call fcn.00402be0
add esp, 0x18
push eax
mov ecx, edi
mov byte [ebp - 4], 0x23
call fcn.00462b40
lea ecx, [ebp - 0xb8]
call fcn.00402f70
lea ecx, [ebp - 0x40]
jmp 0x45c463
mov ebx, dword [ebp - 0x108]
lea eax, [ebp - 0x58]
push eax
mov ecx, ebx
call fcn.0043a290
mov esi, eax
test esi, esi
jne 0x45c69a
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x40]
call fcn.00402db0
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x15
push eax
call fcn.0043e390
add esp, 4
lea eax, [ebp - 0x40]
mov ecx, ebx
push eax
call fcn.0043a290
mov esi, eax
test esi, esi
je 0x45c68a
mov ecx, esi
call fcn.0044b550
xor ecx, ecx
cmp eax, 0xa
cmovne esi, ecx
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00402f70
test esi, esi
je 0x45c6cc
mov ecx, esi
call fcn.0044b550
cmp eax, 0xa
jne 0x45c6c4
mov ecx, esi
call fcn.0044a240
lea ecx, [ebp - 0x58]
push ecx
push dword [eax + 8]
call fcn.00419a00
add esp, 8
test al, al
je 0x45c6c4
xor esi, esi
jmp 0x45c6cc
test esi, esi
jne 0x45c5b8
cmp byte [edi + 0xa4], 0
je 0x45c70a
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x70]
call fcn.00402db0
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x16
push eax
call fcn.0043e390
add esp, 4
lea eax, [ebp - 0x70]
mov ecx, ebx
push eax
call fcn.0043a200
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0
mov esi, eax
call fcn.00402f70
test esi, esi
jne 0x45c5b8
lea eax, [ebp - 0x58]
mov ecx, ebx
push eax
call fcn.004602f0
mov byte [ebp - 0xf9], al
test al, al
jne 0x45c80c
mov eax, dword [ebx + 8]
add eax, 0x18
cmp byte [edi + 0xa5], 0
push eax
push str.Message_type__
lea eax, [ebp - 0x28]
push eax
jne 0x45c790
call fcn.0040a080
push str.__has_no_field_named__
push eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x17
push eax
call fcn.00402be0
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x18
push ecx
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00419ad0
push 0x4f67dc
push eax
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x19
push eax
call fcn.00402be0
add esp, 0x30
mov byte [ebp - 4], 0x1a
jmp 0x45c43d
call fcn.0040a080
push str.__has_no_field_named__
push eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x1b
push eax
call fcn.00402be0
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x1c
push ecx
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00419ad0
push 0x4f67dc
push eax
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x1d
push eax
call fcn.00402be0
add esp, 0x30
mov byte [ebp - 4], 0x1e
push eax
mov ecx, edi
call fcn.00462ce0
lea ecx, [ebp - 0xb8]
call fcn.00402f70
lea ecx, [ebp - 0x40]
call fcn.00402f70
lea ecx, [ebp - 0x70]
call fcn.00402f70
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00402f70
mov al, byte [ebp - 0xf9]
cmp byte [edi + 0xa5], 0
jne 0x45c86c
cmp byte [edi + 0xa6], 0
jne 0x45c86c
test al, al
jne 0x45c86c
push 0x225
push str.T:_srcgithubgrpc_javagrpc_java_helper32protobuf_21.7_srcgoogleprotobuf_text_format.cc
push 3
lea ecx, [ebp - 0xc4]
call fcn.0044cbf0
mov ebx, dword [ebp - 0xf8]
mov ecx, eax
or ebx, 2
mov byte [ebp - 4], 0x1f
push str.CHECK_failed:_allow_unknown_field___allow_unknown_extension___reserved_field:
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0x10c], ebx
call fcn.0044ce30
push eax
lea ecx, [ebp - 0xf1]
call fcn.0044ccc0
jmp 0x45c872
mov ebx, dword [ebp - 0xf8]
mov dword [ebp - 4], 0
test bl, 2
je 0x45c892
and ebx, 0xfffffffd
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0xf8], ebx
call fcn.0044cc80
push 0x4fa048
lea ecx, [ebp - 0x40]
call fcn.0040f990
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x20
push eax
mov ecx, edi
call fcn.00463fc0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
mov bl, al
call fcn.00402f70
test bl, bl
je 0x45c95a
mov ecx, edi
call fcn.00464050
push 0x4fa074
lea ecx, [ebp - 0x70]
call fcn.0040f990
mov ebx, dword [ebp - 0xf8]
lea eax, [ebp - 0x70]
or ebx, 4
mov byte [ebp - 4], 0x21
push eax
mov ecx, edi
mov dword [ebp - 0x10c], ebx
call fcn.00460400
test al, al
jne 0x45c920
push 0x4fa070
lea ecx, [ebp - 0x40]
call fcn.0040f990
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
or ebx, 8
call fcn.00460400
mov byte [ebp - 0xf1], 1
test al, al
je 0x45c927
mov byte [ebp - 0xf1], 0
test bl, 8
je 0x45c934
lea ecx, [ebp - 0x40]
call fcn.00402f70
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0
call fcn.00402f70
cmp byte [ebp - 0xf1], 0
je 0x45c95a
mov ecx, edi
call fcn.00463630
mov bl, al
jmp 0x45c46a
mov ecx, edi
call fcn.00463300
mov bl, al
jmp 0x45c46a
mov ecx, esi
call fcn.00464800
mov dword [ebp - 0x108], eax
test eax, eax
je 0x45ca6a
mov ecx, dword [ebp - 0x100]
push eax
push ebx
call fcn.0046b0c0
test al, al
je 0x45ca6a
push dword [ebp - 0x108]
mov ecx, dword [ebp - 0x100]
push ebx
call fcn.00469ac0
mov esi, eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x88]
push str.Field__
push eax
call fcn.0040a080
push str.__is_specified_along_with_field__
push eax
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 0x24
push eax
call fcn.00402be0
push dword [esi + 8]
mov byte [ebp - 4], 0x25
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00419ad0
push str.___another_member_of_oneof__
push eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x26
push eax
call fcn.00402be0
mov ecx, dword [ebp - 0x108]
mov byte [ebp - 4], 0x27
push dword [ecx + 8]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00419ad0
push 0x4f67dc
push eax
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x28
push eax
call fcn.00402be0
add esp, 0x48
push eax
mov ecx, edi
mov byte [ebp - 4], 0x29
call fcn.00462b40
lea ecx, [ebp - 0xb8]
call fcn.00402f70
lea ecx, [ebp - 0x40]
call fcn.00402f70
lea ecx, [ebp - 0x70]
call fcn.00402f70
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0xa0]
call fcn.00402f70
lea ecx, [ebp - 0x88]
jmp 0x45c463
mov ecx, esi
call fcn.00447820
lea ecx, [ebp - 0x28]
push 0x4fa048
cmp eax, 0xa
jne 0x45cc40
call fcn.0040f990
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x2a
push eax
mov ecx, edi
call fcn.00463fc0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
mov bl, al
call fcn.00402f70
test bl, bl
je 0x45cc71
mov ecx, edi
call fcn.00464050
mov eax, dword [esi + 0x20]
mov al, byte [eax + 0x38]
test al, al
je 0x45cc71
cmp dword [edi + 0x14], 5
jne 0x45cc71
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x2b
push eax
mov ecx, edi
call fcn.0045e1c0
test al, al
je 0x45c460
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x45cb03
mov eax, dword [ecx]
push esi
call dword [eax + 0x10]
jmp 0x45cb05
xor eax, eax
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [ebp - 0x100]
push eax
push esi
push dword [ebp - 0x104]
call fcn.0046b920
mov ecx, eax
call fcn.00451bc0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00402f70
mov ebx, dword [ebp - 0xf8]
push 0x4fa270
lea ecx, [ebp - 0xa0]
call fcn.0040f990
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 0x31
or ebx, 0x20
mov ecx, edi
push eax
mov dword [ebp - 0x10c], ebx
call fcn.00463f50
test al, al
jne 0x45cb8c
push 0x4f61f8
lea ecx, [ebp - 0x28]
call fcn.0040f990
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x32
or ebx, 0x40
mov ecx, edi
push eax
mov dword [ebp - 0x10c], ebx
call fcn.00463f50
test bl, 0x40
je 0x45cb99
lea ecx, [ebp - 0x28]
call fcn.00402f70
lea ecx, [ebp - 0xa0]
mov dword [ebp - 4], 0
call fcn.00402f70
mov eax, dword [esi + 0x20]
mov al, byte [eax + 0x37]
test al, al
je 0x45cc03
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x28]
push str.text_format_contains_deprecated_field__
push eax
call fcn.0040a080
push 0x4f6280
push eax
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x33
push eax
call fcn.00402be0
add esp, 0x18
push eax
mov ecx, edi
mov byte [ebp - 4], 0x34
call fcn.00462ce0
lea ecx, [ebp - 0xb8]
call fcn.00402f70
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00402f70
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x45cc39
push dword [edi + 0x60]
lea ecx, [ebp - 0x80]
push dword [edi + 0x58]
push dword [ebp - 0x120]
push dword [ebp - 0x114]
call fcn.0045ac50
sub esp, 0x10
mov ecx, esp
movups xmm0, xmmword [eax]
push esi
push ebx
movups xmmword [ecx], xmm0
call fcn.00462b00
add esp, 0x18
mov bl, 1
jmp 0x45c46a
call fcn.0040f990
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x2c
push eax
mov ecx, edi
call fcn.0045bbd0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
mov bl, al
call fcn.00402f70
test bl, bl
je 0x45c468
mov ecx, edi
call fcn.00464050
mov al, byte [esi + 1]
and al, 0x60
cmp al, 0x60
jne 0x45ccb8
push 0x4fa078
lea ecx, [ebp - 0x28]
call fcn.0040f990
mov ebx, dword [ebp - 0xf8]
lea eax, [ebp - 0x28]
or ebx, 0x10
mov byte [ebp - 4], 0x2d
push eax
mov ecx, edi
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0x10c], ebx
call fcn.00463f50
test al, al
je 0x45ccbe
mov byte [ebp - 0xf1], 1
jmp 0x45ccc5
mov ebx, dword [ebp - 0xf8]
mov byte [ebp - 0xf1], 0
mov dword [ebp - 4], 0
test bl, 0x10
je 0x45cce2
and ebx, 0xffffffef
lea ecx, [ebp - 0x28]
mov dword [ebp - 0xf8], ebx
call fcn.00402f70
cmp byte [ebp - 0xf1], 0
je 0x45cdbc
push 0x4f6428
lea ecx, [ebp - 0x28]
call fcn.0040f990
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x2e
push eax
mov ecx, edi
call fcn.00463f50
test al, al
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
sete bl
call fcn.00402f70
test bl, bl
je 0x45cb2f
mov ecx, esi
call fcn.00447820
mov ecx, edi
push esi
push dword [ebp - 0x100]
push dword [ebp - 0x104]
cmp eax, 0xa
jne 0x45cd46
call fcn.0045ce00
jmp 0x45cd4b
call fcn.0045d040
test al, al
je 0x45c468
push 0x4f6428
lea ecx, [ebp - 0x28]
call fcn.0040f990
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x2f
push eax
mov ecx, edi
call fcn.00463f50
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
mov bl, al
call fcn.00402f70
test bl, bl
jne 0x45cb2f
push 0x4f61f8
lea ecx, [ebp - 0x28]
call fcn.0040f990
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x30
push eax
mov ecx, edi
call fcn.0045b580
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
mov bl, al
call fcn.00402f70
test bl, bl
jne 0x45cd24
jmp 0x45c468
mov ecx, esi
call fcn.00447820
mov ecx, edi
push esi
push dword [ebp - 0x100]
push dword [ebp - 0x104]
cmp eax, 0xa
jne 0x45cde9
call fcn.0045ce00
test al, al
jne 0x45cb35
jmp 0x45c468
call fcn.0045d040
test al, al
je 0x45c468
jmp 0x45cb35