Function at 0x4aa860
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x120
mov esi, ecx
mov edi, dword [ebp + 8]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x40]
mov dword [esp + 0x44], edx
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x40]
mov dword [esp + 0x6c], eax
lea ebx, [esi + 0x14]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x60], 0
movups xmm0, xmmword [esi + 0x24]
movaps xmmword [esp + 0x100], xmm0
movdqu xmm0, xmmword [esi + 0x28]
movdqa xmmword [esp + 0xf0], xmm0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xbc], 0
lea eax, [esp + 0xbc]
lea ecx, [esp + 0xc0]
push eax
push ecx
push edi
call fcn.006670e0
add esp, 0xc
test al, al
je 0x4aab13
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov word [esp + 0x10], 0x5b02
movzx ecx, byte [esi + 0x18]
mov eax, ecx
shr eax, 1
mov edx, eax
test cl, 1
je 0x4aa927
mov edx, dword [esi + 0x1c]
cmp edx, 1
jne 0x4aab13
test cl, 1
jne 0x4aa956
xor ecx, ecx
nop word [eax + eax]
movzx edx, byte [esi + ecx + 0x19]
cmp dl, byte [esp + ecx + 0x11]
jne 0x4aab13
inc ecx
cmp eax, ecx
jne 0x4aa940
jmp 0x4aa966
mov eax, dword [esi + 0x20]
movzx eax, byte [eax]
cmp al, byte [esp + 0x11]
jne 0x4aab13
mov ecx, ebx
call fcn.00665ca0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x50], 0
lea eax, [esp + 0x48]
lea edx, [esp + 0x38]
mov ecx, esi
push eax
push edx
call fcn.004ac8a0
test al, al
je 0x4aad15
mov dword [esp + 0x74], 0
movzx eax, byte [esp + 0x48]
mov ecx, eax
shr ecx, 1
test al, 1
lea eax, [esp + 0x49]
cmovne eax, dword [esp + 0x50]
mov dword [esp + 0x70], 0
cmovne ecx, dword [esp + 0x4c]
mov dword [esp + 0x78], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
movzx eax, byte [esp + 0x38]
mov ecx, eax
shr ecx, 1
test al, 1
lea eax, [esp + 0x39]
cmovne eax, dword [esp + 0x40]
mov dword [esp + 0x80], eax
cmovne ecx, dword [esp + 0x3c]
mov dword [esp + 0x84], ecx
lea eax, [esp + 0x80]
lea edi, [esp + 0x10]
lea ecx, [esp + 0x70]
push eax
push edi
push ecx
call fcn.0062cf10
add esp, 0xc
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov word [esp + 0x10], 0x5d02
mov ecx, ebx
push 1
call fcn.00664df0
mov ecx, esi
push edi
call fcn.004aeae0
mov ecx, ebx
mov ebx, eax
push 0
call fcn.00664df0
test byte [esp + 0x10], 1
je 0x4aaa7e
push dword [esp + 0x18]
call fcn.0051c570
add esp, 4
test bl, bl
je 0x4aaec0
mov ecx, esi
call fcn.004aca50
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov word [esp + 0x10], 0x3a02
mov ecx, esi
lea eax, [esp + 0x10]
push eax
call fcn.004acb80
mov ebx, eax
test byte [esp + 0x10], 1
je 0x4aaacd
push dword [esp + 0x18]
call fcn.0051c570
add esp, 4
test bl, bl
lea edi, [esp + 0x38]
je 0x4aaadc
mov ecx, esi
call fcn.004aca50
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x4ab51e
mov eax, dword [ecx]
push edi
lea edx, [esp + 0x4c]
push edx
mov edi, dword [ebp + 8]
push edi
call dword [eax + 0x10]
jmp 0x4ab530
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov word [esp + 0x10], 0x5b02
movzx ecx, byte [esi + 0x18]
mov eax, ecx
shr eax, 1
mov edx, eax
test cl, 1
je 0x4aab44
mov edx, dword [esi + 0x1c]
cmp edx, 1
jne 0x4aac21
test cl, 1
jne 0x4aab76
xor ecx, ecx
nop word cs:[eax + eax]
movzx edx, byte [esi + ecx + 0x19]
cmp dl, byte [esp + ecx + 0x11]
jne 0x4aac21
inc ecx
cmp eax, ecx
jne 0x4aab60
jmp 0x4aab86
mov eax, dword [esi + 0x20]
movzx eax, byte [eax]
cmp al, byte [esp + 0x11]
jne 0x4aac21
mov ecx, ebx
call fcn.00665ca0
lea eax, [esp + 0x58]
mov ecx, esi
push eax
call fcn.004acdf0
test al, al
je 0x4ac682
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov word [esp + 0x10], 0x5d02
mov ecx, ebx
push 1
call fcn.00664df0
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.004aeae0
mov ecx, ebx
mov ebx, eax
mov dword [esp + 0x68], ecx
push 0
call fcn.00664df0
test byte [esp + 0x10], 1
je 0x4aabf7
push dword [esp + 0x18]
call fcn.0051c570
add esp, 4
test bl, bl
je 0x4ac682
mov ecx, esi
call fcn.004aca50
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x4aaeff
mov eax, dword [ecx]
lea ebx, [esp + 0x58]
push ebx
push edi
call dword [eax + 8]
jmp 0x4aaf17
mov ecx, ebx
push 1
call fcn.00664df0
lea eax, [esp + 0x58]
mov ecx, esi
push eax
call fcn.004aece0
mov edi, ebx
mov ebx, eax
mov ecx, edi
push 0
call fcn.00664df0
test bl, bl
je 0x4ac682
mov dword [esp + 0x68], edi
mov ecx, esi
call fcn.004aca50
mov dword [esp + 0xb0], 0
mov edi, esi
cmp byte [esi + 0x90], 0
lea esi, [esp + 0x58]
je 0x4aacbf
lea eax, [esp + 0xb0]
push eax
push esi
call fcn.0062cd60
add esp, 8
test al, al
je 0x4aacbf
mov ebx, dword [esp + 0x6c]
mov ecx, ebx
push dword [esp + 0xb0]
call fcn.006387f0
test eax, eax
je 0x4aaea1
mov esi, edi
mov ecx, dword [edi + 4]
mov eax, dword [esp + 0xb0]
test ecx, ecx
je 0x4aaee9
mov edx, dword [ecx]
push eax
push ebx
call dword [edx + 0xc]
jmp 0x4aaef6
mov ecx, dword [esp + 0x6c]
push esi
call fcn.00637ee0
mov dword [esp + 0xc], eax
test eax, eax
mov esi, edi
mov dword [esp + 0x64], edi
jne 0x4ab24a
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
lea ecx, [esp + 0x10]
lea eax, [esp + 0x58]
push eax
call fcn.0051f860
movzx ecx, byte [esp + 0x10]
test cl, 1
je 0x4aad3e
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x4aad44
xor ebx, ebx
test byte [esp + 0x48], 1
je 0x4ac56e
push dword [esp + 0x50]
call fcn.0051c570
add esp, 4
test byte [esp + 0x38], 1
je 0x4ac684
jmp 0x4ac579
shr ecx, 1
lea eax, [esp + 0x11]
test ecx, ecx
je 0x4ab1b4
mov ebx, eax
cmp ecx, 8
jb 0x4ac597
xor esi, esi
cmp ecx, 0x10
mov dword [esp + 0xc], ecx
jae 0x4ab018
and ecx, 0xfffffff8
mov edi, ecx
lea ebx, [eax + ecx]
movdqa xmm0, xmmword [0x879580]
movdqa xmm1, xmmword [0x879590]
pcmpeqd xmm2, xmm2
jmp 0x4aad9d
add esi, 8
mov ecx, edi
cmp edi, esi
je 0x4aafee
movq xmm3, qword [eax + esi]
movdqa xmm4, xmm3
paddb xmm4, xmm0
movdqa xmm5, xmm4
pmaxub xmm5, xmm1
pcmpeqb xmm5, xmm4
movd edx, xmm5
not dl
movd ecx, xmm3
test dl, 1
je 0x4aadcd
mov edx, ecx
add dl, 0x20
mov byte [eax + esi], dl
movdqa xmm4, xmm5
pxor xmm4, xmm2
movdqa xmm6, xmm4
pslld xmm6, 8
movd edx, xmm6
shr edx, 0x10
test dl, 1
je 0x4aadf3
mov dl, ch
add dl, 0x20
mov byte [eax + esi + 1], dl
pshuflw xmm6, xmm5, 0x55
pxor xmm6, xmm2
pextrw edx, xmm6, 2
test dl, 1
je 0x4aae12
mov edx, ecx
shr edx, 0x10
add dl, 0x20
mov byte [eax + esi + 2], dl
movdqa xmm6, xmm4
psllq xmm6, 0x18
pextrw edx, xmm6, 3
test dl, 1
je 0x4aae2f
shr ecx, 0x18
add cl, 0x20
mov byte [eax + esi + 3], cl
pshufd xmm5, xmm5, 0x55
pxor xmm5, xmm2
pextrw edx, xmm5, 4
pextrw ecx, xmm3, 2
test dl, 1
je 0x4aae50
mov edx, ecx
add dl, 0x20
mov byte [eax + esi + 4], dl
movdqa xmm5, xmm4
pslldq xmm5, 5
pextrw edx, xmm5, 5
test dl, 1
je 0x4aae6a
add ch, 0x20
mov byte [eax + esi + 5], ch
pextrw edx, xmm4, 3
pextrw ecx, xmm3, 3
test dl, 1
je 0x4aae82
mov edx, ecx
add dl, 0x20
mov byte [eax + esi + 6], dl
pslldq xmm4, 7
pextrw edx, xmm4, 7
test dl, 1
je 0x4aad90
add ch, 0x20
mov byte [eax + esi + 7], ch
jmp 0x4aad90
mov ecx, ebx
push dword [esp + 0xb0]
call fcn.00638830
test eax, eax
je 0x4aafff
mov bl, 1
mov esi, edi
jmp 0x4ac151
xor ebx, ebx
test byte [esp + 0x70], 1
je 0x4ac563
push dword [esp + 0x78]
call fcn.0051c570
add esp, 4
test byte [esp + 0x48], 1
je 0x4ac56e
jmp 0x4aad22
mov ecx, dword [ebx + 0xc]
mov ecx, dword [ecx + 0x10]
push eax
push ebx
call fcn.00636f60
mov edx, eax
xor ebx, ebx
jmp 0x4ab9db
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x40]
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx + 0x10]
lea ebx, [esp + 0x58]
push ebx
push eax
call fcn.00637570
mov edx, eax
test eax, eax
jne 0x4aba60
movzx eax, word [esi + 0x8d]
movd xmm0, eax
pxor xmm1, xmm1
pcmpeqb xmm1, xmm0
punpcklbw xmm0, xmm1
pshuflw xmm0, xmm0, 0x60
pshufd xmm0, xmm0, 0x50
movmskpd eax, xmm0
lea edi, [esp + 0x48]
cmp al, 3
jne 0x4ab6a0
push ebx
push str.Extension__
push edi
call fcn.00523f10
add esp, 0xc
mov ecx, edi
push str.__is_not_defined_or_is_not_an_extension_of__
call fcn.00520360
mov ecx, dword [eax + 8]
mov dword [esp + 0x40], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x38], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 8]
add eax, 0xc
lea ecx, [esp + 0x38]
lea edi, [esp + 0x80]
push eax
push ecx
push edi
call fcn.004acf40
add esp, 0xc
mov ecx, edi
push 0x8799f0
call fcn.00520360
mov ecx, dword [eax + 8]
mov dword [esp + 0x18], ecx
movq xmm0, qword [eax]
movq qword [esp + 0x10], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov ecx, esi
lea eax, [esp + 0x10]
jmp 0x4ac311
mov ecx, dword [esp + 0xc]
cmp ecx, edi
je 0x4ab1b4
jmp 0x4ac597
mov ecx, ebx
push dword [esp + 0xb0]
call fcn.00637d10
mov edx, eax
xor ebx, ebx
mov esi, edi
jmp 0x4ab9db
mov esi, ecx
and esi, 0xfffffff0
xor ebx, ebx
movdqa xmm0, xmmword [0x879560]
movdqa xmm1, xmmword [0x879570]
jmp 0x4ab04b
add ebx, 0x10
cmp esi, ebx
je 0x4ab1a8
movdqu xmm2, xmmword [eax + ebx]
movdqa xmm4, xmm2
paddb xmm4, xmm0
movdqa xmm3, xmm4
pminub xmm3, xmm1
pcmpeqb xmm3, xmm4
movd ecx, xmm3
test cl, 1
je 0x4ab077
movd edx, xmm2
add dl, 0x20
mov byte [eax + ebx], dl
test ch, 1
je 0x4ab087
movd edx, xmm2
add dh, 0x20
mov byte [eax + ebx + 1], dh
mov edx, ecx
shr edx, 0x10
test dl, 1
je 0x4ab09f
movd edx, xmm2
shr edx, 0x10
add dl, 0x20
mov byte [eax + ebx + 2], dl
shr ecx, 0x18
test cl, 1
je 0x4ab0b5
movd ecx, xmm2
shr ecx, 0x18
add cl, 0x20
mov byte [eax + ebx + 3], cl
pextrw ecx, xmm3, 2
test cl, 1
je 0x4ab0cb
pextrw edx, xmm2, 2
add dl, 0x20
mov byte [eax + ebx + 4], dl
test ch, 1
je 0x4ab0dc
pextrw ecx, xmm2, 2
add ch, 0x20
mov byte [eax + ebx + 5], ch
pextrw ecx, xmm3, 3
test cl, 1
je 0x4ab0f2
pextrw edx, xmm2, 3
add dl, 0x20
mov byte [eax + ebx + 6], dl
test ch, 1
je 0x4ab103
pextrw ecx, xmm2, 3
add ch, 0x20
mov byte [eax + ebx + 7], ch
pextrw ecx, xmm3, 4
test cl, 1
je 0x4ab119
pextrw edx, xmm2, 4
add dl, 0x20
mov byte [eax + ebx + 8], dl
test ch, 1
je 0x4ab12a
pextrw ecx, xmm2, 4
add ch, 0x20
mov byte [eax + ebx + 9], ch
pextrw ecx, xmm3, 5
test cl, 1
je 0x4ab140
pextrw edx, xmm2, 5
add dl, 0x20
mov byte [eax + ebx + 0xa], dl
test ch, 1
je 0x4ab151
pextrw ecx, xmm2, 5
add ch, 0x20
mov byte [eax + ebx + 0xb], ch
pextrw ecx, xmm3, 6
test cl, 1
je 0x4ab167
pextrw edx, xmm2, 6
add dl, 0x20
mov byte [eax + ebx + 0xc], dl
test ch, 1
je 0x4ab178
pextrw ecx, xmm2, 6
add ch, 0x20
mov byte [eax + ebx + 0xd], ch
pextrw ecx, xmm3, 7
test cl, 1
je 0x4ab18e
pextrw edx, xmm2, 7
add dl, 0x20
mov byte [eax + ebx + 0xe], dl
test ch, 1
je 0x4ab040
pextrw ecx, xmm2, 7
add ch, 0x20
mov byte [eax + ebx + 0xf], ch
jmp 0x4ab040
mov ecx, dword [esp + 0xc]
cmp ecx, esi
jne 0x4ac58a
mov ecx, dword [esp + 0x6c]
lea eax, [esp + 0x10]
push eax
call fcn.00637ee0
test eax, eax
je 0x4ab2f2
mov ebx, eax
mov eax, dword [eax + 0x10]
test eax, eax
mov esi, dword [esp + 0x64]
je 0x4ab21e
mov dword [esp + 0x48], 0x6563d0
mov dword [esp + 0x70], ebx
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4ab21e
lea ecx, [esp + 0x48]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x70]
mov dword [esp + 0x84], ecx
lea ecx, [esp + 0x80]
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x38]
push 0x4afd90
push ecx
push eax
call fcn.0051c150
add esp, 0xc
xor eax, eax
cmp byte [ebx + 2], 0xa
cmove eax, ebx
test byte [esp + 0x10], 1
je 0x4ab23e
push dword [esp + 0x18]
mov ebx, eax
call fcn.0051c570
mov eax, ebx
add esp, 4
mov dword [esp + 0xc], eax
test eax, eax
je 0x4ab36e
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x4ab29d
mov dword [esp + 0x38], 0x6563d0
mov dword [esp + 0x48], ecx
mov edx, dword [eax]
cmp edx, 0xffffffff
je 0x4ab29d
lea ecx, [esp + 0x38]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x48]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x80]
push 0x4afd90
push ecx
push eax
call fcn.0051c150
mov ecx, dword [esp + 0x18]
add esp, 0xc
cmp byte [ecx + 2], 0xa
jne 0x4ab8e3
call fcn.00637760
mov edx, dword [eax + 8]
movzx ebx, byte [edx]
mov eax, ebx
shr eax, 1
mov edi, eax
test bl, 1
je 0x4ab2c0
mov edi, dword [edx + 4]
movzx ecx, byte [esp + 0x58]
test cl, 1
je 0x4ab2d0
mov esi, dword [esp + 0x5c]
jmp 0x4ab2d4
mov esi, ecx
shr esi, 1
cmp edi, esi
mov esi, dword [esp + 0x64]
jne 0x4ab36e
test cl, 1
mov dword [esp + 0xac], edi
je 0x4ab308
mov esi, dword [esp + 0x60]
jmp 0x4ab30c
xor eax, eax
mov esi, dword [esp + 0x64]
test byte [esp + 0x10], 1
jne 0x4ab22e
jmp 0x4ab23e
lea esi, [esp + 0x59]
lea edi, [edx + 1]
mov ecx, edi
test bl, 1
je 0x4ab319
mov ecx, dword [edx + 8]
jne 0x4ab348
cmp dword [esp + 0xac], 0
je 0x4ab504
dec eax
xor ecx, ecx
nop dword [eax]
movzx edx, byte [edi + ecx]
mov dh, byte [esi + ecx]
cmp dl, dh
jne 0x4ab344
lea ebx, [ecx + 1]
cmp eax, ecx
mov ecx, ebx
jne 0x4ab330
cmp dl, dh
jmp 0x4ab364
mov eax, dword [esp + 0xac]
test eax, eax
je 0x4ab504
push eax
push esi
push ecx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcmp
add esp, 0xc
test eax, eax
mov esi, dword [esp + 0x64]
je 0x4ab8e3
cmp byte [esi + 0x8c], 0
je 0x4ab8ec
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
lea ecx, [esp + 0x10]
lea eax, [esp + 0x58]
push eax
call fcn.0051f860
movzx eax, byte [esp + 0x10]
test al, 1
je 0x4ab3b4
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
jmp 0x4ab3ba
shr eax, 1
lea edi, [esp + 0x11]
test eax, eax
je 0x4ab8b2
mov ebx, edi
cmp eax, 8
jb 0x4ac5c9
xor esi, esi
cmp eax, 0x10
mov dword [esp + 0xc], eax
jae 0x4ab73c
and eax, 0xfffffff8
mov edx, eax
lea ebx, [edi + eax]
movdqa xmm0, xmmword [0x879580]
movdqa xmm1, xmmword [0x879590]
pcmpeqd xmm2, xmm2
jmp 0x4ab40d
add esi, 8
mov eax, edx
cmp edx, esi
je 0x4ab50d
movq xmm3, qword [edi + esi]
movdqa xmm4, xmm3
paddb xmm4, xmm0
movdqa xmm5, xmm4
pmaxub xmm5, xmm1
pcmpeqb xmm5, xmm4
movd eax, xmm5
not al
movd ecx, xmm3
test al, 1
je 0x4ab43b
mov eax, ecx
add al, 0x20
mov byte [edi + esi], al
movdqa xmm4, xmm5
pxor xmm4, xmm2
movdqa xmm6, xmm4
pslld xmm6, 8
movd eax, xmm6
shr eax, 0x10
test al, 1
je 0x4ab45f
mov al, ch
add al, 0x20
mov byte [edi + esi + 1], al
pshuflw xmm6, xmm5, 0x55
pxor xmm6, xmm2
pextrw eax, xmm6, 2
test al, 1
je 0x4ab47c
mov eax, ecx
shr eax, 0x10
add al, 0x20
mov byte [edi + esi + 2], al
movdqa xmm6, xmm4
psllq xmm6, 0x18
pextrw eax, xmm6, 3
test al, 1
je 0x4ab498
shr ecx, 0x18
add cl, 0x20
mov byte [edi + esi + 3], cl
pshufd xmm5, xmm5, 0x55
pxor xmm5, xmm2
pextrw eax, xmm5, 4
pextrw ecx, xmm3, 2
test al, 1
je 0x4ab4b7
mov eax, ecx
add al, 0x20
mov byte [edi + esi + 4], al
movdqa xmm5, xmm4
pslldq xmm5, 5
pextrw eax, xmm5, 5
test al, 1
je 0x4ab4d0
add ch, 0x20
mov byte [edi + esi + 5], ch
pextrw eax, xmm4, 3
pextrw ecx, xmm3, 3
test al, 1
je 0x4ab4e6
mov eax, ecx
add al, 0x20
mov byte [edi + esi + 6], al
pslldq xmm4, 7
pextrw eax, xmm4, 7
test al, 1
je 0x4ab400
add ch, 0x20
mov byte [edi + esi + 7], ch
jmp 0x4ab400
mov esi, dword [esp + 0x64]
jmp 0x4ab8e3
mov eax, dword [esp + 0xc]
cmp eax, edx
je 0x4ab8b2
jmp 0x4ac5c9
lea edx, [esp + 0x48]
mov ecx, dword [ebp + 8]
push edi
mov edi, ecx
call fcn.004a3460
add esp, 4
test eax, eax
je 0x4ab5df
mov ecx, esi
lea edx, [esp + 0x10]
push edx
push eax
call fcn.004acc40
test al, al
je 0x4ab677
cmp dword [esi + 0x88], 1
jne 0x4ac48c
mov eax, dword [esp + 0xc0]
movzx ecx, byte [eax + 1]
not cl
test cl, 0x60
je 0x4ab57b
mov ecx, dword [esp + 0x44]
push eax
push edi
call fcn.00546c10
test al, al
jne 0x4ab5a4
mov eax, dword [esp + 0xbc]
movzx ecx, byte [eax + 1]
not cl
test cl, 0x60
je 0x4ac48c
mov ecx, dword [esp + 0x44]
push eax
push edi
call fcn.00546c10
test al, al
je 0x4ac48c
lea edi, [esp + 0x80]
mov ecx, edi
push str.Non_repeated_Any_specified_multiple_times.
call fcn.00403a80
mov ecx, esi
push edi
push dword [esi + 0x28]
push dword [esi + 0x24]
call fcn.004a90d0
test byte [esp + 0x80], 1
je 0x4ab677
push dword [esp + 0x88]
jmp 0x4ab66f
lea ebx, [esp + 0xb0]
lea eax, [esp + 0x70]
push eax
push str.Could_not_find_type__
push ebx
call fcn.00523f10
add esp, 0xc
mov ecx, ebx
push str.__stored_in_google.protobuf.Any.
call fcn.00520360
mov ecx, dword [eax + 8]
mov dword [esp + 0x88], ecx
movq xmm0, qword [eax]
movq qword [esp + 0x80], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov ecx, esi
lea eax, [esp + 0x80]
push eax
push dword [esi + 0x28]
push dword [esi + 0x24]
call fcn.004a90d0
test byte [esp + 0x80], 1
je 0x4ab65e
push dword [esp + 0x88]
call fcn.0051c570
add esp, 4
test byte [esp + 0xb0], 1
je 0x4ab677
push dword [esp + 0xb8]
call fcn.0051c570
add esp, 4
xor ebx, ebx
test byte [esp + 0x10], 1
je 0x4ac558
push dword [esp + 0x18]
call fcn.0051c570
add esp, 4
test byte [esp + 0x70], 1
je 0x4ac563
jmp 0x4aaecd
push ebx
push str.Ignoring_extension__
push edi
call fcn.00523f10
add esp, 0xc
mov ecx, edi
push str.__which_is_not_defined_or_is_not_an_extension_of__
call fcn.00520360
mov ecx, dword [eax + 8]
mov dword [esp + 0x40], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x38], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 8]
add eax, 0xc
lea ecx, [esp + 0x38]
lea edi, [esp + 0x80]
push eax
push ecx
push edi
call fcn.004acf40
add esp, 0xc
mov ecx, edi
push 0x8799f0
call fcn.00520360
mov ecx, dword [eax + 8]
mov dword [esp + 0x18], ecx
movq xmm0, qword [eax]
movq qword [esp + 0x10], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov ecx, esi
lea eax, [esp + 0x10]
jmp 0x4ac10c
mov esi, eax
and esi, 0xfffffff0
xor ebx, ebx
movdqa xmm0, xmmword [0x879560]
movdqa xmm1, xmmword [0x879570]
jmp 0x4ab76b
add ebx, 0x10
cmp esi, ebx
je 0x4ab8a6
movdqu xmm2, xmmword [edi + ebx]
movdqa xmm4, xmm2
paddb xmm4, xmm0
movdqa xmm3, xmm4
pminub xmm3, xmm1
pcmpeqb xmm3, xmm4
movd edx, xmm3
movd ecx, xmm2
test dl, 1
je 0x4ab798
mov eax, ecx
add al, 0x20
mov byte [edi + ebx], al
test dh, 1
je 0x4ab7a5
mov al, ch
add al, 0x20
mov byte [edi + ebx + 1], al
mov eax, edx
shr eax, 0x10
test al, 1
je 0x4ab7b9
mov eax, ecx
shr eax, 0x10
add al, 0x20
mov byte [edi + ebx + 2], al
shr edx, 0x18
test dl, 1
je 0x4ab7cb
shr ecx, 0x18
add cl, 0x20
mov byte [edi + ebx + 3], cl
pextrw edx, xmm3, 2
pextrw ecx, xmm2, 2
test dl, 1
je 0x4ab7e2
mov eax, ecx
add al, 0x20
mov byte [edi + ebx + 4], al
test dh, 1
je 0x4ab7ee
add ch, 0x20
mov byte [edi + ebx + 5], ch
pextrw edx, xmm3, 3
pextrw ecx, xmm2, 3
test dl, 1
je 0x4ab805
mov eax, ecx
add al, 0x20
mov byte [edi + ebx + 6], al
test dh, 1
je 0x4ab811
add ch, 0x20
mov byte [edi + ebx + 7], ch
pextrw edx, xmm3, 4
pextrw ecx, xmm2, 4
test dl, 1
je 0x4ab828
mov eax, ecx
add al, 0x20
mov byte [edi + ebx + 8], al
test dh, 1
je 0x4ab834
add ch, 0x20
mov byte [edi + ebx + 9], ch
pextrw edx, xmm3, 5
pextrw ecx, xmm2, 5
test dl, 1
je 0x4ab84b
mov eax, ecx
add al, 0x20
mov byte [edi + ebx + 0xa], al
test dh, 1
je 0x4ab857
add ch, 0x20
mov byte [edi + ebx + 0xb], ch
pextrw edx, xmm3, 6
pextrw ecx, xmm2, 6
test dl, 1
je 0x4ab86e
mov eax, ecx
add al, 0x20
mov byte [edi + ebx + 0xc], al
test dh, 1
je 0x4ab87a
add ch, 0x20
mov byte [edi + ebx + 0xd], ch
pextrw edx, xmm3, 7
pextrw ecx, xmm2, 7
test dl, 1
je 0x4ab891
mov eax, ecx
add al, 0x20
mov byte [edi + ebx + 0xe], al
test dh, 1
je 0x4ab760
add ch, 0x20
mov byte [edi + ebx + 0xf], ch
jmp 0x4ab760
mov eax, dword [esp + 0xc]
cmp eax, esi
jne 0x4ac5bd
mov ecx, dword [esp + 0x6c]
lea eax, [esp + 0x10]
push eax
call fcn.00637da0
test byte [esp + 0x10], 1
je 0x4ab8d7
push dword [esp + 0x18]
mov esi, eax
call fcn.0051c570
mov eax, esi
add esp, 4
mov dword [esp + 0xc], eax
test eax, eax
mov esi, dword [esp + 0x64]
je 0x4ab8ec
mov edx, dword [esp + 0xc]
jmp 0x4aba60
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x54]
mov dword [esp + 0xcc], ecx
test ecx, ecx
jle 0x4ab9d0
mov eax, dword [eax + 0x34]
mov dword [esp + 0xac], eax
movzx eax, byte [esp + 0x58]
mov edi, eax
shr edi, 1
mov dword [esp + 0xc8], eax
test al, 1
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x59]
cmovne ecx, dword [esp + 0x60]
mov dword [esp + 0xc4], ecx
cmove eax, edi
mov dword [esp + 0xc], eax
xor esi, esi
mov bl, 1
jmp 0x4ab950
inc esi
cmp esi, dword [esp + 0xcc]
setl bl
je 0x4ab9d2
mov eax, dword [esp + 0xac]
mov eax, dword [eax + esi*4]
movzx ecx, byte [eax]
test cl, 1
je 0x4ab96d
mov edx, dword [eax + 4]
cmp dword [esp + 0xc], edx
jne 0x4ab93f
jmp 0x4ab977
mov edx, ecx
shr edx, 1
cmp dword [esp + 0xc], edx
jne 0x4ab93f
test cl, 1
je 0x4ab981
mov eax, dword [eax + 8]
jmp 0x4ab982
inc eax
mov ecx, dword [esp + 0xc]
test byte [esp + 0xc8], 1
jne 0x4ab9b1
test ecx, ecx
je 0x4ab9d2
xor ecx, ecx
nop word cs:[eax + eax]
movzx edx, byte [esp + ecx + 0x59]
cmp dl, byte [eax + ecx]
jne 0x4ab93f
inc ecx
cmp edi, ecx
jne 0x4ab9a0
jmp 0x4ab9d2
test ecx, ecx
je 0x4ab9d2
push ecx
push eax
push dword [esp + 0xcc]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x4ab93f
jmp 0x4ab9d2
xor ebx, ebx
and bl, 1
mov esi, dword [esp + 0x64]
xor edx, edx
test bl, bl
jne 0x4aba58
test edx, edx
jne 0x4aba58
cmp byte [esi + 0x8d], 0
je 0x4ac02c
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 8]
add eax, 0xc
lea edi, [esp + 0x48]
push eax
push str.Message_type__
push edi
call fcn.00523f10
add esp, 0xc
mov ecx, edi
push str.__has_no_field_named__
call fcn.00520360
mov ecx, dword [eax + 8]
mov dword [esp + 0x40], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x38], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
movzx eax, byte [esp + 0x58]
test al, 1
je 0x4ac094
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
jmp 0x4ac09a
test edx, edx
je 0x4ac151
mov edi, esi
cmp dword [esi + 0x88], 1
mov ebx, dword [esp + 0x68]
mov dword [esp + 0xc], edx
jne 0x4abca9
movzx eax, byte [edx + 1]
mov ecx, eax
not cl
test cl, 0x60
je 0x4abb2f
mov ecx, dword [esp + 0x44]
push edx
push dword [ebp + 8]
mov esi, edx
call fcn.00546c10
test al, al
je 0x4abb29
lea eax, [esp + 0x58]
lea esi, [esp + 0x80]
push eax
push str.Non_repeated_field__
push esi
call fcn.00523f10
add esp, 0xc
mov ecx, esi
push str.__is_specified_multiple_times.
call fcn.00520360
mov ecx, dword [eax + 8]
mov dword [esp + 0x18], ecx
movq xmm0, qword [eax]
movq qword [esp + 0x10], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [esp + 0x10]
mov ecx, edi
push eax
push dword [edi + 0x28]
push dword [edi + 0x24]
call fcn.004a90d0
test byte [esp + 0x10], 1
je 0x4abb0f
push dword [esp + 0x18]
call fcn.0051c570
add esp, 4
test byte [esp + 0x80], 1
je 0x4ac682
push dword [esp + 0x88]
jmp 0x4ac473
movzx eax, byte [esi + 1]
mov edx, esi
test al, 0x10
je 0x4abca9
mov esi, dword [edx + 0x18]
test esi, esi
je 0x4abca9
mov ecx, dword [esp + 0x44]
push esi
push dword [ebp + 8]
call fcn.0054dc60
mov edx, dword [esp + 0xc]
test al, al
je 0x4abca9
mov ecx, dword [esp + 0x44]
push esi
push dword [ebp + 8]
call fcn.0054d610
mov dword [esp + 0xc], eax
lea eax, [esp + 0x58]
lea ebx, [esp + 0xb0]
push eax
push str.Field__
push ebx
call fcn.00523f10
add esp, 0xc
mov ecx, ebx
push str.__is_specified_along_with_field__
call fcn.00520360
mov ecx, dword [eax + 8]
mov dword [esp + 0x78], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x70], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [esp + 0x70]
lea ebx, [esp + 0x48]
mov ecx, dword [esp + 0xc]
push dword [ecx + 8]
push eax
push ebx
call fcn.004acf40
add esp, 0xc
mov ecx, ebx
push str.___another_member_of_oneof__
call fcn.00520360
mov ecx, dword [eax + 8]
mov dword [esp + 0x40], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x38], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [esp + 0x38]
lea ebx, [esp + 0x80]
push dword [esi + 8]
push eax
push ebx
call fcn.004acf40
add esp, 0xc
mov ecx, ebx
push 0x8799f0
call fcn.00520360
mov ecx, dword [eax + 8]
mov dword [esp + 0x18], ecx
movq xmm0, qword [eax]
movq qword [esp + 0x10], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [esp + 0x10]
mov ecx, edi
push eax
push dword [edi + 0x28]
push dword [edi + 0x24]
call fcn.004a90d0
test byte [esp + 0x10], 1
jne 0x4ac3f0
test byte [esp + 0x80], 1
jne 0x4ac40a
test byte [esp + 0x38], 1
jne 0x4ac424
test byte [esp + 0x48], 1
jne 0x4ac43b
test byte [esp + 0x70], 1
jne 0x4ac452
test byte [esp + 0xb0], 1
je 0x4ac682
jmp 0x4ac46c
mov eax, dword [edx + 0x10]
test eax, eax
je 0x4abcf8
mov dword [esp + 0x38], 0x6563d0
mov dword [esp + 0x48], edx
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4abcf8
lea ecx, [esp + 0x38]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x48]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x80]
push 0x4afd90
push ecx
push eax
call fcn.0051c150
mov edx, dword [esp + 0x18]
add esp, 0xc
movzx eax, byte [edx + 2]
mov ecx, dword [0x87a518]
cmp dword [ecx + eax*4], 0xa
mov dword [esp + 0x68], ebx
jne 0x4abdc1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov word [esp + 0x10], 0x3a02
lea esi, [esp + 0x10]
mov ecx, edi
push esi
call fcn.004acb80
mov ebx, eax
test byte [esp + 0x10], 1
je 0x4abd50
push dword [esp + 0x18]
call fcn.0051c570
add esp, 4
test bl, bl
mov ecx, dword [esp + 0xc]
je 0x4abe28
mov ecx, edi
call fcn.004aca50
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x20]
cmp byte [eax + 0x38], 0
je 0x4abe28
cmp dword [edi + 0x14], 5
jne 0x4abe28
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
mov ecx, edi
push esi
call fcn.004adad0
mov ebx, eax
test al, al
je 0x4ac607
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x4ac5eb
mov eax, dword [ecx]
push dword [esp + 0xc]
call dword [eax + 0x14]
jmp 0x4ac5ed
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov word [esp + 0x10], 0x3a02
mov ecx, ebx
push 1
call fcn.00664df0
lea eax, [esp + 0x10]
mov esi, edi
mov ecx, edi
push eax
call fcn.004aeae0
mov ecx, ebx
mov ebx, eax
push 0
call fcn.00664df0
test byte [esp + 0x10], 1
je 0x4abe15
push dword [esp + 0x18]
call fcn.0051c570
add esp, 4
test bl, bl
je 0x4ac682
mov ecx, esi
call fcn.004aca50
mov ecx, dword [esp + 0xc]
movzx eax, byte [ecx + 1]
not al
test al, 0x60
mov esi, edi
mov edi, dword [ebp + 8]
jne 0x4abea6
lea ebx, [esp + 0x10]
mov ecx, ebx
push 0x8797f5
call fcn.00403a80
mov ecx, esi
push ebx
call fcn.004ac800
mov ebx, eax
test byte [esp + 0x10], 1
je 0x4abe64
push dword [esp + 0x18]
call fcn.0051c570
add esp, 4
test bl, bl
mov ecx, dword [esp + 0xc]
je 0x4abea6
lea ebx, [esp + 0x10]
mov ecx, ebx
push 0x8797f7
call fcn.00403a80
mov ecx, esi
push ebx
call fcn.004ac800
mov ebx, eax
test byte [esp + 0x10], 1
je 0x4abe99
push dword [esp + 0x18]
call fcn.0051c570
add esp, 4
test bl, bl
mov ebx, dword [esp + 0x68]
je 0x4abed2
jmp 0x4ac624
mov ebx, ecx
call fcn.004a9410
mov ecx, esi
cmp eax, 0xa
jne 0x4ac010
push ebx
push dword [esp + 0x48]
push edi
call fcn.004adb80
jmp 0x4ac01b
xor ebx, ebx
test al, al
je 0x4ac684
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x10]
test eax, eax
je 0x4abf25
mov dword [esp + 0x38], 0x6563d0
mov dword [esp + 0x48], edx
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4abf25
lea ecx, [esp + 0x38]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x48]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0x80], ecx
push 0x4afd90
lea ecx, [esp + 0x84]
push ecx
push eax
call fcn.0051c150
mov edx, dword [esp + 0x18]
add esp, 0xc
movzx eax, byte [edx + 2]
mov ecx, dword [0x87a518]
cmp dword [ecx + eax*4], 0xa
jne 0x4abf44
mov ecx, esi
push edx
push dword [esp + 0x48]
push edi
call fcn.004adb80
jmp 0x4abf51
mov ecx, esi
push edx
push dword [esp + 0x48]
push edi
call fcn.004add60
test al, al
mov ebx, dword [esp + 0x68]
je 0x4ac682
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov word [esp + 0x10], 0x5d02
movzx ecx, byte [esi + 0x18]
mov eax, ecx
shr eax, 1
mov edx, eax
test cl, 1
je 0x4abf8e
mov edx, dword [esi + 0x1c]
cmp edx, 1
jne 0x4abfc5
test cl, 1
jne 0x4abfb5
xor ecx, ecx
nop word [eax + eax]
movzx edx, byte [esi + ecx + 0x19]
cmp dl, byte [esp + ecx + 0x11]
jne 0x4abfc5
inc ecx
cmp eax, ecx
jne 0x4abfa0
jmp 0x4ac480
mov eax, dword [esi + 0x20]
movzx eax, byte [eax]
cmp al, byte [esp + 0x11]
je 0x4ac480
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov word [esp + 0x10], 0x2c02
mov ecx, esi
lea eax, [esp + 0x10]
push eax
call fcn.004aeae0
test byte [esp + 0x10], 1
je 0x4abec8
push dword [esp + 0x18]
mov ebx, eax
call fcn.0051c570
mov eax, ebx
add esp, 4
jmp 0x4abec8
push ebx
push dword [esp + 0x48]
push edi
call fcn.004add60
test al, al
mov ebx, dword [esp + 0x68]
jne 0x4ac624
jmp 0x4ac682
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 8]
add eax, 0xc
lea edi, [esp + 0x48]
push eax
push str.Message_type__
push edi
call fcn.00523f10
add esp, 0xc
mov ecx, edi
push str.__has_no_field_named__
call fcn.00520360
mov ecx, dword [eax + 8]
mov dword [esp + 0x40], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x38], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
movzx eax, byte [esp + 0x58]
test al, 1
je 0x4ac299
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
jmp 0x4ac29f
shr eax, 1
lea edx, [esp + 0x59]
lea ecx, [esp + 0x38]
push eax
push edx
call fcn.00520110
mov ecx, dword [eax + 8]
mov dword [esp + 0x88], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x80], xmm0
mov dword [eax], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
lea ecx, [esp + 0x80]
push 0x8799f0
call fcn.00520360
mov ecx, dword [eax + 8]
mov dword [esp + 0x18], ecx
movq xmm0, qword [eax]
movq qword [esp + 0x10], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push dword [esi + 0x28]
push dword [esi + 0x24]
call fcn.004aa740
test byte [esp + 0x10], 1
jne 0x4ac249
test byte [esp + 0x80], 1
jne 0x4ac263
test byte [esp + 0x38], 1
jne 0x4ac27d
test byte [esp + 0x48], 1
je 0x4ac14f
push dword [esp + 0x50]
call fcn.0051c570
add esp, 4
xor ebx, ebx
or bl, byte [esi + 0x8e]
or bl, byte [esi + 0x8d]
jne 0x4ac196
lea edi, [esp + 0x10]
mov ecx, edi
push 0x225
push str.external_protobuf_src_google_protobuf_text_format.cc
push 3
call fcn.00630740
mov ecx, edi
push str.CHECK_failed:_allow_unknown_field___allow_unknown_extension___reserved_field:
call fcn.0062ff70
lea ecx, [esp + 0x80]
push eax
call fcn.006300f0
mov ecx, edi
call fcn.00630770
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov word [esp + 0x10], 0x3a02
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.004acb80
mov ebx, eax
test byte [esp + 0x10], 1
je 0x4ac1d6
push dword [esp + 0x18]
call fcn.0051c570
add esp, 4
test bl, bl
je 0x4ac3d4
mov ecx, esi
call fcn.004aca50
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov word [esp + 0x10], 0x7b02
movzx ecx, byte [esi + 0x18]
mov eax, ecx
shr eax, 1
mov edx, eax
test cl, 1
je 0x4ac216
mov edx, dword [esi + 0x1c]
cmp edx, 1
jne 0x4ac39a
test cl, 1
jne 0x4ac38e
xor ecx, ecx
nop word [eax + eax]
movzx edx, byte [esi + ecx + 0x19]
cmp dl, byte [esp + ecx + 0x11]
jne 0x4ac39a
inc ecx
cmp eax, ecx
jne 0x4ac230
jmp 0x4ac3d4
push dword [esp + 0x18]
call fcn.0051c570
add esp, 4
test byte [esp + 0x80], 1
je 0x4ac131
push dword [esp + 0x88]
call fcn.0051c570
add esp, 4
test byte [esp + 0x38], 1
je 0x4ac13c
push dword [esp + 0x40]
call fcn.0051c570
add esp, 4
test byte [esp + 0x48], 1
jne 0x4ac143
jmp 0x4ac14f
shr eax, 1
lea edx, [esp + 0x59]
lea ecx, [esp + 0x38]
push eax
push edx
call fcn.00520110
mov ecx, dword [eax + 8]
mov dword [esp + 0x88], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x80], xmm0
mov dword [eax], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
lea ecx, [esp + 0x80]
push 0x8799f0
call fcn.00520360
mov ecx, dword [eax + 8]
mov dword [esp + 0x18], ecx
movq xmm0, qword [eax]
movq qword [esp + 0x10], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push dword [esi + 0x28]
push dword [esi + 0x24]
call fcn.004a90d0
test byte [esp + 0x10], 1
jne 0x4ac342
test byte [esp + 0x80], 1
jne 0x4ac358
test byte [esp + 0x38], 1
jne 0x4ac36e
test byte [esp + 0x48], 1
je 0x4ac682
jmp 0x4ac385
push dword [esp + 0x18]
call fcn.0051c570
add esp, 4
test byte [esp + 0x80], 1
je 0x4ac32e
push dword [esp + 0x88]
call fcn.0051c570
add esp, 4
test byte [esp + 0x38], 1
je 0x4ac335
push dword [esp + 0x40]
call fcn.0051c570
add esp, 4
test byte [esp + 0x48], 1
je 0x4ac682
push dword [esp + 0x50]
jmp 0x4ac473
mov eax, dword [esi + 0x20]
movzx eax, byte [eax]
cmp al, byte [esp + 0x11]
je 0x4ac3d4
lea edi, [esp + 0x80]
mov ecx, edi
push 0x879ab4
call fcn.00403a80
mov ecx, esi
push edi
call fcn.004acf90
mov ebx, eax
test byte [esp + 0x80], 1
je 0x4ac3d0
push dword [esp + 0x88]
call fcn.0051c570
add esp, 4
test bl, bl
je 0x4ac3e2
mov ecx, esi
call fcn.004ad8a0
mov ebx, eax
jmp 0x4ac684
mov ecx, esi
call fcn.004ad030
mov ebx, eax
jmp 0x4ac684
push dword [esp + 0x18]
call fcn.0051c570
add esp, 4
test byte [esp + 0x80], 1
je 0x4abc75
push dword [esp + 0x88]
call fcn.0051c570
add esp, 4
test byte [esp + 0x38], 1
je 0x4abc80
push dword [esp + 0x40]
call fcn.0051c570
add esp, 4
test byte [esp + 0x48], 1
je 0x4abc8b
push dword [esp + 0x50]
call fcn.0051c570
add esp, 4
test byte [esp + 0x70], 1
je 0x4abc96
push dword [esp + 0x78]
call fcn.0051c570
add esp, 4
test byte [esp + 0xb0], 1
je 0x4ac682
push dword [esp + 0xb8]
call fcn.0051c570
add esp, 4
jmp 0x4ac682
mov ecx, ebx
call fcn.00665ca0
jmp 0x4ac624
mov eax, dword [esp + 0xc0]
movsd xmm0, qword [esp + 0x70]
movsd qword [esp + 0xe0], xmm0
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea edx, [esp + 0xe0]
mov esi, dword [esp + 0x44]
mov ecx, esi
push edx
push eax
push edi
call fcn.0054a710
test byte [esp + 0xe0], 1
je 0x4ac4f3
push dword [esp + 0xe8]
call fcn.0051c570
add esp, 4
mov eax, dword [esp + 0xbc]
movq xmm0, qword [esp + 0x10]
movq qword [esp + 0xd0], xmm0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
lea edx, [esp + 0xd0]
mov ecx, esi
push edx
push eax
push edi
call fcn.0054a710
mov bl, 1
test byte [esp + 0xd0], 1
jne 0x4ac7d9
test byte [esp + 0x10], 1
jne 0x4ab684
test byte [esp + 0x70], 1
jne 0x4aaecd
test byte [esp + 0x48], 1
jne 0x4aad22
test byte [esp + 0x38], 1
je 0x4ac684
push dword [esp + 0x40]
call fcn.0051c570
add esp, 4
jmp 0x4ac684
test cl, 8
jne 0x4aad66
add esi, eax
mov ebx, esi
add eax, ecx
jmp 0x4ac5a9
inc ebx
cmp ebx, eax
je 0x4ab1b4
movzx ecx, byte [ebx]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x19
ja 0x4ac5a0
add cl, 0x20
mov byte [ebx], cl
jmp 0x4ac5a0
test al, 8
jne 0x4ab3dc
add esi, edi
mov ebx, esi
add edi, eax
jmp 0x4ac5d9
inc ebx
cmp ebx, edi
je 0x4ab8b2
movzx ecx, byte [ebx]
mov eax, ecx
add al, 0xbf
cmp al, 0x19
ja 0x4ac5d0
add cl, 0x20
mov byte [ebx], cl
jmp 0x4ac5d0
xor eax, eax
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x44]
push eax
push edx
push dword [ebp + 8]
call fcn.0054bf90
mov ecx, eax
push esi
call fcn.004a11c0
test byte [esp + 0x10], 1
je 0x4ac61a
push dword [esp + 0x18]
call fcn.0051c570
add esp, 4
test bl, bl
mov esi, edi
mov ebx, dword [esp + 0x68]
je 0x4ac682
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov word [esp + 0x10], 0x3b02
movzx ecx, byte [esi + 0x18]
mov eax, ecx
shr eax, 1
mov edx, eax
test cl, 1
je 0x4ac655
mov edx, dword [esi + 0x1c]
cmp edx, 1
jne 0x4ac6b8
test cl, 1
jne 0x4ac6a3
xor ecx, ecx
nop word cs:[eax + eax]
movzx edx, byte [esi + ecx + 0x19]
cmp dl, byte [esp + ecx + 0x11]
jne 0x4ac6b8
inc ecx
cmp eax, ecx
jne 0x4ac670
jmp 0x4ac6af
xor ebx, ebx
test byte [esp + 0x58], 1
je 0x4ac697
push dword [esp + 0x60]
call fcn.0051c570
add esp, 4
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov eax, dword [esi + 0x20]
movzx eax, byte [eax]
cmp al, byte [esp + 0x11]
jne 0x4ac6b8
mov ecx, ebx
call fcn.00665ca0
jmp 0x4ac6ec
lea ebx, [esp + 0x80]
mov ecx, ebx
push 0x879b31
call fcn.00403a80
mov ecx, esi
push ebx
call fcn.004ac800
test byte [esp + 0x80], 1
je 0x4ac6ec
push dword [esp + 0x88]
call fcn.0051c570
add esp, 4
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x20]
cmp byte [eax + 0x37], 0
je 0x4ac78a
lea eax, [esp + 0x58]
lea ebx, [esp + 0x80]
push eax
push str.text_format_contains_deprecated_field__
push ebx
call fcn.00523f10
add esp, 0xc
mov ecx, ebx
push 0x8797f3
call fcn.00520360
mov ecx, dword [eax + 8]
mov dword [esp + 0x18], ecx
movq xmm0, qword [eax]
movq qword [esp + 0x10], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push dword [esi + 0x28]
push dword [esi + 0x24]
call fcn.004aa740
test byte [esp + 0x10], 1
je 0x4ac76d
push dword [esp + 0x18]
call fcn.0051c570
add esp, 4
test byte [esp + 0x80], 1
je 0x4ac786
push dword [esp + 0x88]
call fcn.0051c570
add esp, 4
mov edx, dword [esp + 0xc]
mov ecx, dword [esi + 8]
mov bl, 1
test ecx, ecx
je 0x4ac684
movss xmm0, dword [esi + 0x48]
movaps xmm2, xmmword [esp + 0xf0]
unpcklps xmm2, xmm0
movss xmm0, dword [esi + 0x40]
movaps xmm1, xmmword [esp + 0x100]
unpcklps xmm1, xmm0
unpcklps xmm1, xmm2
movups xmmword [esp + 0x10], xmm1
sub esp, 0x14
movups xmm0, xmmword [esp + 0x24]
movups xmmword [esp + 4], xmm0
mov dword [esp], edx
call fcn.004a3090
jmp 0x4ac684
push dword [esp + 0xd8]
call fcn.0051c570
add esp, 4
test byte [esp + 0x10], 1
je 0x4ac558
jmp 0x4ab684