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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x178
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc8]
test eax, eax
mov dword [esp + 8], eax
je 0x4244f1
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 8]
xor ebx, ebx
mov ecx, dword [eax + 0xc0]
mov eax, dword [eax + 0xbc]
imul esi, edx, 0xf8
neg edx
add esi, ecx
mov dword [esp + 4], eax
mov dword [esp + 0xc], ecx
cmp ecx, esi
je 0x4244f1
inc ebx
mov edi, ecx
jmp 0x4244be
mov ecx, esi
lea eax, [edx + ebx + 1]
inc ebx
mov edi, ecx
cmp eax, 1
je 0x4244f1
cmp edi, esi
je 0x4244b0
mov eax, dword [edi]
lea ecx, [edi + 0xf8]
xor eax, 2
or eax, dword [edi + 4]
je 0x4244b2
test byte [edi + 0xc4], 2
je 0x4244eb
mov eax, dword [esp + 4]
cmp eax, dword [edi + 0x98]
jne 0x42753f
cmp ebx, dword [esp + 8]
jb 0x4244a7
mov edi, dword [ebp + 0xc]
mov cl, 1
mov eax, dword [edi + 0xac]
or eax, dword [edi + 0xb8]
jne 0x42450e
cmp dword [edi + 0xbc], 0
setne cl
mov byte [esp + 0xb3], cl
push edi
call fcn.00428620
add esp, 4
mov eax, dword [ebp + 0x14]
mov ebx, 5
lea esi, [esp + 0x88]
mov dword [esp + 0x20], 1
mov dword [esp + 0x150], 0
add eax, 8
mov dword [esp + 0x9c], eax
lea eax, [edi + 0x108]
mov dword [esp + 0xf8], eax
lea eax, [edi + 0xf0]
mov dword [esp + 0x154], eax
jmp 0x42457b
mov ebx, dword [esp + 0x14]
lea esi, [esp + 0x88]
mov eax, dword [ebp + 0x14]
mov dword [esp + 8], ecx
cmp dword [eax + 4], 0
mov dword [eax + 4], 0
je 0x4245c0
mov edx, dword [esp + 0x9c]
mov eax, dword [edx + 8]
movsd xmm0, qword [edx]
mov dword [esp + 0x168], eax
movsd qword [esp + 0x160], xmm0
cmp dword [esp + 0x160], 0
mov dword [esp + 0x14], ebx
jne 0x4245e8
jmp 0x425d38
push dword [eax]
lea eax, [esp + 0x164]
push eax
call fcn.0045c370
mov ecx, dword [esp + 0x10]
add esp, 8
cmp dword [esp + 0x160], 0
mov dword [esp + 0x14], ebx
je 0x425d38
mov eax, dword [esp + 0x168]
movq xmm0, qword [esp + 0x160]
and byte [edi + 4], 0xf7
mov dword [esp + 0x90], eax
movq qword [esp + 0x88], xmm0
push esi
mov edi, ecx
call fcn.00408da0
add esp, 4
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x48], ebx
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edi
lea edi, [esp + 0x48]
push edi
push edx
push eax
push ebx
call fcn.00424190
add esp, 0x10
test byte [ebx + 4], 4
mov edi, ebx
mov byte [esp + 4], al
jne 0x4246a0
push esi
call fcn.00408da0
add esp, 4
push 2
push 0x4a9c84
push edx
push eax
call fcn.00435bd0
add esp, 0x10
test al, al
je 0x4246a0
push esi
call fcn.00408da0
add esp, 4
cmp edx, 2
sete al
test byte [esp + 4], al
je 0x4246a0
mov ecx, dword [esp + 8]
or byte [edi + 4], 4
mov eax, dword [esp + 0x8c]
test eax, eax
jne 0x42504f
jmp 0x424570
test byte [edi + 4], 4
jne 0x425169
mov ebx, dword [esp + 0x14]
lea eax, [ebx - 1]
cmp eax, 2
jb 0x4246e1
lea eax, [esp + 0x88]
push eax
call fcn.00408da0
add esp, 4
push edx
push eax
push edi
lea eax, [esp + 0x54]
push eax
call fcn.004229d0
add esp, 0x10
cmp byte [esp + 0x48], 0
jne 0x425de6
cmp byte [esp + 4], 0
je 0x424770
mov eax, dword [edi + 4]
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0xac]
test eax, eax
je 0x42483d
mov ecx, edi
mov edx, dword [edi + 0xa4]
mov edi, dword [edi + 0x11c]
mov ebx, dword [ecx + 0x120]
mov ecx, 0x4a9aac
test edi, edi
cmove ebx, edi
cmove edi, ecx
imul esi, eax, 0x78
mov eax, edx
jmp 0x42474c
add eax, 0x78
add esi, 0xffffff88
je 0x424832
cmp dword [eax + 4], ebx
jne 0x424740
push ebx
push edi
push dword [eax]
mov dword [esp + 0x1c], eax
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x424740
jmp 0x42483a
cmp ebx, 1
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 8]
jne 0x425169
mov eax, dword [edi + 0xb8]
test eax, eax
je 0x4277a8
mov ecx, dword [ebp + 0xc]
imul esi, eax, 0x110
mov edi, dword [ecx + 0xb0]
jmp 0x4247b2
add edi, 0x110
add esi, 0xfffffef0
je 0x4277a8
cmp dword [edi + 0x9c], edx
jne 0x4247a0
push edx
push dword [esp + 0x10]
push dword [edi + 0x98]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0x14]
add esp, 0xc
test eax, eax
jne 0x4247a0
lea eax, [esp + 0x88]
push eax
call fcn.00408da0
add esp, 4
mov esi, edx
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x48]
push dword [ebp + 0x10]
push esi
push eax
push edi
call fcn.0042aab0
add esp, 0x10
mov ecx, dword [esp + 0x50]
cmp dword [esp + 0x48], 0
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x54]
jne 0x425e65
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x8c]
test eax, eax
jne 0x42504f
jmp 0x424570
mov dword [esp + 0x10], 0
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0xb8]
test eax, eax
je 0x4248b4
mov ecx, edi
mov edi, dword [edi + 0xb0]
mov edx, dword [ecx + 0x11c]
mov ebx, dword [ecx + 0x120]
mov ecx, 0x4a9aac
test edx, edx
cmove ebx, edx
cmove edx, ecx
imul esi, eax, 0x110
mov dword [esp + 4], edx
jmp 0x42488e
add edi, 0x110
add esi, 0xfffffef0
je 0x4248b1
cmp dword [edi + 0x9c], ebx
jne 0x424880
push ebx
push dword [esp + 8]
push dword [edi + 0x98]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x424880
mov dword [esp + 0x18], edi
mov edi, dword [ebp + 0xc]
mov ecx, dword [edi + 0xc8]
test ecx, ecx
je 0x424993
mov esi, dword [edi + 0xc0]
mov ebx, dword [edi + 0x11c]
mov eax, dword [edi + 0x120]
imul edx, ecx, 0xf8
add edx, esi
test ebx, ebx
cmove eax, ebx
mov dword [esp + 0x44], eax
mov eax, 0x4a9aac
cmove ebx, eax
mov eax, ecx
mov dword [esp + 0xac], ebx
neg eax
xor ebx, ebx
mov dword [esp + 4], eax
cmp esi, edx
je 0x424993
inc ebx
mov edi, esi
jmp 0x424922
mov esi, edx
mov eax, dword [esp + 4]
mov edi, esi
lea eax, [eax + ebx + 1]
inc ebx
cmp eax, 1
je 0x424990
cmp edi, edx
je 0x424910
mov eax, dword [edi]
lea esi, [edi + 0xf8]
xor eax, 2
or eax, dword [edi + 4]
je 0x424912
mov eax, dword [esp + 0x44]
cmp dword [edi + 0xa4], eax
jne 0x42497c
push eax
push dword [esp + 0xb0]
push dword [edi + 0xa0]
mov dword [esp + 0x100], ecx
mov dword [esp + 0x140], edx
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0x140]
mov ecx, dword [esp + 0x100]
add esp, 0xc
test eax, eax
je 0x42513a
mov edi, dword [ebp + 0xc]
cmp ebx, ecx
jb 0x4248fe
jmp 0x424993
mov edi, dword [ebp + 0xc]
xor esi, esi
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
mov ecx, 0x4a9e98
shr edx, 8
and edx, 1
test eax, eax
cmovne esi, eax
mov eax, 0x4a9e10
cmove eax, ecx
mov ecx, dword [esp + 0x10]
test ecx, ecx
cmovne esi, ecx
mov ecx, 0x4a9f14
cmovne eax, ecx
push edx
push dword [esp + 0x158]
push dword [esp + 0x100]
push eax
push esi
push dword [ebp + 0x10]
call fcn.004300e0
add esp, 0x18
lea ebx, [esp + 0x88]
push ebx
call fcn.00408da0
add esp, 4
push 2
push 0x4a9c84
push edx
push eax
call fcn.00435bd0
add esp, 0x10
test al, al
je 0x424aa0
push ebx
call fcn.00408da0
add esp, 4
inc dword [edi + 0x134]
mov esi, eax
mov ebx, edx
push edx
push eax
call fcn.00468d50
add esp, 8
test eax, eax
je 0x4277be
test edx, edx
je 0x424c2c
dec edx
cmp byte [eax], 0x3d
lea eax, [eax + 1]
jne 0x424a30
push 0x2d
push ebx
push esi
call fcn.00431a50
add esp, 0xc
push 0x3d
push edx
push eax
lea eax, [esp + 0x54]
push eax
call fcn.00431960
add esp, 0x10
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov dword [esp + 8], eax
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0xb8]
mov dword [esp + 0xc], edx
test eax, eax
jne 0x424c56
jmp 0x424d88
push ebx
call fcn.00408da0
add esp, 4
push 1
push 0x4a9c86
push edx
push eax
call fcn.00435bd0
add esp, 0x10
mov esi, ebx
mov ebx, dword [ebp + 8]
test al, al
je 0x425169
push esi
call fcn.00408da0
add esp, 4
cmp edx, 1
je 0x425169
push esi
call fcn.00408da0
add esp, 4
push edx
push eax
push dword [ebp + 0x10]
push edi
lea esi, [esp + 0x58]
push esi
call fcn.00429aa0
add esp, 0x14
cmp dword [esp + 0x48], 0
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
jne 0x4261ff
cmp edx, 2
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], edx
jb 0x425040
cmp edx, 6
je 0x425040
mov eax, dword [esp + 0x14]
mov dword [esp + 8], ecx
cmp eax, 4
jne 0x425169
lea eax, [esp + 0x88]
push eax
call fcn.00408da0
add esp, 4
push edx
push eax
lea eax, [esp + 0x34]
push eax
call fcn.00468dd0
add esp, 0xc
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
mov dword [esp + 4], eax
test eax, eax
mov eax, ebx
je 0x424b6c
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
push eax
mov dword [esp + 0x14], ecx
push ecx
lea eax, [esp + 0x120]
push eax
call fcn.0047a540
add esp, 0xc
cmp byte [esp + 0x118], 0
je 0x425d07
lea eax, [esp + 0x88]
mov dword [esp + 0x14], ebx
push eax
call fcn.00408da0
add esp, 4
push edx
push eax
push esi
call fcn.00468dd0
add esp, 0xc
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x50]
test ebx, ebx
mov eax, edi
je 0x424bc5
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
push eax
push esi
lea eax, [esp + 0xc8]
push eax
call fcn.0042da20
add esp, 0xc
test ebx, ebx
mov bl, byte [esp + 0xc0]
je 0x424bf6
test edi, edi
je 0x424bf6
push 1
push edi
push esi
call fcn.00406c80
add esp, 0xc
cmp dword [esp + 4], 0
mov eax, dword [esp + 0x14]
je 0x424c14
test eax, eax
je 0x424c14
push 1
push eax
push dword [esp + 0x18]
call fcn.00406c80
add esp, 0xc
mov edi, dword [ebp + 0xc]
test bl, bl
mov dword [esp + 0x14], 4
je 0x425169
jmp 0x42720c
push 0x2d
push ebx
push esi
call fcn.00431a50
add esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 0x10], 0
mov eax, dword [edi + 0xb8]
mov dword [esp + 0xc], edx
test eax, eax
je 0x424d88
mov ecx, dword [ebp + 0xc]
imul eax, eax, 0x110
mov edi, dword [ecx + 0xb0]
add eax, edi
mov dword [esp + 4], eax
jmp 0x424c80
add edi, 0x110
cmp dword [esp + 4], edi
je 0x424d88
mov eax, dword [edi + 0xf4]
test eax, eax
je 0x424c70
cmp edx, dword [edi + 0xf8]
jne 0x424ca8
push edx
push eax
push dword [esp + 0x10]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0x18]
add esp, 0xc
test eax, eax
je 0x424cf4
mov esi, dword [edi + 0xfc]
test esi, esi
je 0x424c70
mov eax, dword [edi + 0x104]
shl eax, 2
lea ebx, [eax + eax*2]
test ebx, ebx
je 0x424c70
add esi, 4
jmp 0x424cd8
add esi, 0xc
add ebx, 0xfffffff4
je 0x424c70
cmp edx, dword [esi]
jne 0x424cd0
push edx
push dword [esi - 4]
push dword [esp + 0x10]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0x18]
add esp, 0xc
test eax, eax
jne 0x424cd0
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x10]
xor eax, eax
or byte [esi + 4], 0x20
test ecx, ecx
setne al
push dword [ebp + 0x10]
push eax
push edi
push dword [esp + 0x20]
push ecx
push esi
lea eax, [esp + 0x60]
push eax
call fcn.0042a590
add esp, 0x1c
cmp dword [esp + 0x48], 0
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x98], ecx
jne 0x4263e5
mov eax, dword [esi + 0x11c]
test eax, eax
je 0x424fef
mov esi, dword [esi + 0x120]
mov ecx, dword [edi + 0x9c]
cmp esi, ecx
jne 0x424ff5
push esi
push dword [edi + 0x98]
push eax
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
mov ecx, esi
jne 0x424ff5
mov edi, dword [ebp + 0xc]
jmp 0x42500a
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xac]
test eax, eax
je 0x424e80
mov ecx, dword [ebp + 0xc]
imul eax, eax, 0x78
mov edi, dword [ecx + 0xa4]
add eax, edi
mov dword [esp + 4], eax
jmp 0x424dbd
add edi, 0x78
cmp edi, dword [esp + 4]
je 0x424e80
mov eax, dword [edi + 0x5c]
test eax, eax
je 0x424db0
cmp edx, dword [edi + 0x60]
jne 0x424ddf
push edx
push eax
push dword [esp + 0x10]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0x18]
add esp, 0xc
test eax, eax
je 0x424e24
mov esi, dword [edi + 0x64]
test esi, esi
je 0x424db0
mov eax, dword [edi + 0x6c]
shl eax, 2
lea ebx, [eax + eax*2]
test ebx, ebx
je 0x424db0
add esi, 4
jmp 0x424e08
add esi, 0xc
add ebx, 0xfffffff4
je 0x424db0
cmp edx, dword [esi]
jne 0x424e00
push edx
push dword [esi - 4]
push dword [esp + 0x10]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0x18]
add esp, 0xc
test eax, eax
jne 0x424e00
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 4]
mov eax, dword [edx]
or ecx, 0x20
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0xc]
cmp ecx, 7
je 0x42506a
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
cmp ecx, 4
jne 0x4250af
mov ecx, dword [esp + 8]
cmp dword [ecx], 0x706c6568
jne 0x4250af
and eax, 0x100
je 0x4250af
push 1
push dword [ebp + 0xc]
lea eax, [esp + 0x50]
push eax
call fcn.00428d60
add esp, 0xc
jmp 0x4250a3
mov edi, dword [ebp + 0xc]
test dword [edi], 0x40000
jne 0x425144
mov eax, dword [edi + 4]
test al, 8
jne 0x42514e
push dword [ebp + 0x14]
lea eax, [esp + 0x30]
push eax
mov esi, edx
call fcn.004411d0
add esp, 8
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
lea eax, [edi + edi*2]
lea eax, [ecx + eax*4]
push eax
mov ebx, ecx
push ecx
lea eax, [esp + 0xc8]
push eax
call fcn.00440f90
add esp, 0xc
push esi
push dword [esp + 0xc]
call fcn.00468d50
add esp, 8
test eax, eax
je 0x4277ef
mov esi, dword [esp + 0xc0]
push dword [esp + 0xc8]
push esi
push dword [ebp + 0x10]
push edx
push eax
push dword [ebp + 0xc]
lea eax, [esp + 0x60]
push eax
call fcn.0042b070
add esp, 0x1c
mov al, byte [esp + 0x60]
mov dword [esp + 0x14], 5
cmp al, 0x14
mov byte [esp + 8], al
je 0x424f6f
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x61]
movq xmm0, qword [ecx - 0xd]
mov dl, byte [ecx + 2]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4c]
movq qword [esp + 0x118], xmm0
mov byte [esp + 0xa2], dl
mov dword [esp + 0x24], eax
mov eax, dword [ecx - 5]
mov dword [esp + 0x120], eax
movzx eax, word [ecx]
mov cl, byte [esp + 8]
mov word [esp + 0xa0], ax
mov eax, dword [esp + 0x50]
mov byte [esp + 0x1f], cl
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xc4]
test eax, eax
je 0x424f8d
mov ecx, 8
mul ecx
push 4
push eax
push esi
call fcn.00406c80
add esp, 0xc
test edi, edi
je 0x424fbe
shl edi, 2
lea esi, [ebx + 4]
lea edi, [edi + edi*2]
jmp 0x424fa8
add esi, 0xc
add edi, 0xfffffff4
je 0x424fbe
mov eax, dword [esi]
test eax, eax
je 0x424fa0
push 1
push eax
push dword [esi - 4]
call fcn.00406c80
add esp, 0xc
jmp 0x424fa0
mov eax, dword [esp + 0x30]
test eax, eax
je 0x424fd9
mov ecx, 0xc
mul ecx
push 4
push eax
push ebx
call fcn.00406c80
add esp, 0xc
cmp byte [esp + 8], 0x14
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov edx, dword [esp + 0x14]
je 0x42500e
jmp 0x42718f
mov ecx, dword [edi + 0x9c]
mov eax, dword [edi + 0x98]
mov edi, dword [ebp + 0xc]
mov dword [edi + 0x11c], eax
mov dword [edi + 0x120], ecx
mov edx, dword [esp + 0x14]
cmp edx, 6
mov dword [esp + 0x14], edx
ja 0x425156
mov eax, 0x43
mov ecx, dword [esp + 0x98]
bt eax, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xc], edx
jae 0x425156
nop dword [eax + eax]
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x424570
push 1
push eax
push dword [esp + 0x90]
mov ebx, ecx
call fcn.00406c80
mov ecx, ebx
add esp, 0xc
jmp 0x424570
mov esi, dword [esp + 8]
mov edx, 0x73726576
mov ecx, dword [esi]
mov ebx, dword [esi + 3]
mov esi, 0x6e6f6973
xor ebx, esi
xor ecx, edx
mov esi, dword [ebp + 0x10]
or ebx, ecx
mov ebx, dword [ebp + 8]
jne 0x4250af
and eax, 0x200
je 0x4250af
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x48]
push 1
call fcn.00428f90
add esp, 4
mov al, byte [esp + 0x60]
cmp al, 0x14
jne 0x427143
push esi
push edi
mov esi, dword [ebp + 0xc]
push esi
lea eax, [esp + 0x54]
push eax
call fcn.0042afb0
add esp, 0x10
cmp dword [esp + 0x48], 0
jne 0x426479
mov eax, dword [esi + 0x11c]
test eax, eax
je 0x4250f8
mov esi, dword [esi + 0x120]
mov ecx, dword [edi + 4]
cmp esi, ecx
jne 0x4250fb
push esi
push dword [edi]
push eax
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
mov ecx, esi
jne 0x4250fb
jmp 0x42510c
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x11c], eax
mov dword [edx + 0x120], ecx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x98]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x8c]
test eax, eax
jne 0x42504f
jmp 0x424570
mov esi, edi
mov edi, dword [ebp + 0xc]
jmp 0x424995
mov dword [esp + 0x14], 3
jmp 0x425156
mov dword [esp + 0x14], 4
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x24]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
mov edx, eax
mov esi, ecx
not edx
not esi
and edx, 0x20
and esi, 0x80000000
or esi, edx
je 0x4252de
mov edx, eax
and edx, 0x40
jne 0x42533e
mov edx, ecx
lea esi, [esp + 0x48]
and edx, 0x8000
jne 0x4252e2
lea eax, [esp + 0x88]
push eax
call fcn.00408da0
add esp, 4
push edx
push eax
lea eax, [esp + 0xc8]
push eax
call fcn.00468dd0
add esp, 0xc
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x10], eax
test eax, eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], eax
je 0x4251e7
mov eax, dword [esp + 0xcc]
mov ecx, dword [edi + 0xcc]
imul edx, dword [edi + 0xd4], 0x138
mov esi, dword [esp + 0xc4]
add edx, ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x48], ecx
lea ecx, [esp + 0x48]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], 1
push ecx
push eax
push esi
call fcn.00432f50
add esp, 0xc
test eax, eax
jne 0x42656b
cmp dword [esp + 0x10], 0
mov eax, dword [esp + 4]
je 0x42525a
test eax, eax
je 0x42525a
push 1
push eax
push esi
call fcn.00406c80
add esp, 0xc
mov ecx, dword [edi]
mov eax, dword [edi + 4]
lea esi, [esp + 0x48]
test ecx, 0x10000000
je 0x4252ea
mov ecx, dword [edi + 0xbc]
mov edi, dword [esp + 0x20]
lea edx, [ecx - 1]
cmp edi, edx
sete bl
test al, 2
jne 0x4252d9
cmp edi, edx
mov ecx, edi
mov edx, dword [esp + 8]
mov edi, dword [ebp + 0xc]
jne 0x425329
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x20], ecx
cmp dword [eax + 4], 0
je 0x42536c
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x42539a
mov edi, dword [eax + 0x10]
test edi, edi
je 0x4253a3
js 0x427828
push 1
push edi
call fcn.00406c70
add esp, 8
mov esi, eax
test eax, eax
jne 0x4253a8
jmp 0x42784e
mov edi, dword [ebp + 0xc]
jmp 0x4252ff
lea esi, [esp + 0x48]
test ecx, 0x10000000
jne 0x42526b
test al, 2
jne 0x4252f4
mov edx, dword [esp + 8]
jmp 0x425325
mov ecx, dword [edi + 0xbc]
xor ebx, ebx
lea edx, [ecx - 1]
xor edx, dword [esp + 0x20]
mov esi, eax
and esi, 4
or esi, edx
sete dl
test bl, bl
jne 0x42534f
test dl, dl
lea esi, [esp + 0x48]
jne 0x425353
mov edx, dword [esp + 8]
test al, 4
jne 0x4255ab
mov ecx, dword [esp + 0x20]
not eax
test al, 0x84
jne 0x4255ab
mov ecx, dword [edi + 0xbc]
jmp 0x4255ab
lea esi, [esp + 0x48]
test ecx, 0x10000000
je 0x4252ea
jmp 0x42526b
lea esi, [esp + 0x48]
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x20]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x20], ecx
cmp dword [eax + 4], 0
jne 0x4252a3
push dword [eax]
push dword [esp + 0xa0]
call fcn.0045c370
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0x14]
add esp, 8
mov dword [eax + 4], 1
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0x4252ae
mov edi, dword [ebp + 0xc]
inc ecx
jmp 0x4255ab
mov esi, 1
push edi
push ebx
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [esp + 0x14], 6
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
jne 0x4253ea
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x14c]
mov edi, dword [ebp + 0xc]
lea esi, [esp + 0x48]
mov ebx, 6
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
jmp 0x42544d
mov edi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x20]
lea esi, [esp + 0x48]
cmp dword [edi + 0xc8], ecx
jbe 0x425415
mov eax, dword [edi + 0xc0]
imul ecx, ecx, 0xf8
mov edx, dword [eax + ecx]
xor edx, 2
or edx, dword [eax + ecx + 4]
jne 0x425432
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x14c]
mov ebx, 6
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
jmp 0x42544d
add eax, ecx
mov ebx, 2
mov ecx, dword [eax + 0xa0]
mov eax, dword [eax + 0xa4]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
lea eax, [esp + 0x2c]
push eax
call fcn.00408da0
add esp, 4
push edx
push eax
push edi
push esi
call fcn.004229d0
add esp, 0x10
mov al, byte [esp + 0x48]
mov byte [esp + 4], al
lea eax, [esp + 0x2c]
push eax
call fcn.00408da0
add esp, 4
mov dword [esp + 0x14], ebx
mov dword [esp + 0x48], ebx
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 8]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ebx
push esi
push edx
push eax
push edi
call fcn.00424190
add esp, 0x10
cmp byte [esp + 4], 0
jne 0x42556d
test al, al
jne 0x42556d
lea eax, [esp + 0x2c]
push eax
call fcn.00408da0
add esp, 4
push edx
push eax
lea eax, [esp + 0xc8]
push eax
call fcn.00468dd0
add esp, 0xc
mov edi, dword [esp + 0xc0]
mov esi, dword [esp + 0xc8]
test edi, edi
mov eax, esi
je 0x4254ec
mov eax, dword [esp + 0xcc]
mov edx, dword [ebp + 0xc]
mov ebx, dword [esp + 0xc4]
mov ecx, dword [edx + 0xcc]
imul edx, dword [edx + 0xd4], 0x138
add edx, ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x48], ecx
lea ecx, [esp + 0x48]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], 1
push ecx
push eax
mov dword [esp + 0xc], ebx
push ebx
call fcn.00432f50
add esp, 0xc
mov ebx, eax
test edi, edi
je 0x42555c
test esi, esi
je 0x42555c
push 1
push esi
push dword [esp + 0xc]
call fcn.00406c80
add esp, 0xc
mov edi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x20]
test ebx, ebx
lea esi, [esp + 0x48]
jne 0x425571
jmp 0x425572
mov ecx, dword [esp + 0x20]
inc ecx
mov eax, dword [esp + 0x30]
test eax, eax
je 0x425595
push 1
push eax
push dword [esp + 0x34]
mov esi, edi
mov edi, ecx
call fcn.00406c80
mov ecx, edi
mov edi, esi
lea esi, [esp + 0x54]
add esp, 0xc
mov edx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], edx
mov eax, dword [edi + 0xc8]
mov dword [esp + 8], edx
mov dword [esp + 0x20], ecx
cmp eax, ecx
mov dword [esp + 0x18], eax
jbe 0x4255dd
mov ebx, dword [edi + 0xc0]
imul edx, ecx, 0xf8
mov eax, dword [ebx + edx]
xor eax, 2
or eax, dword [ebx + edx + 4]
jne 0x425686
mov eax, dword [edi]
test eax, 0x8000
je 0x4264cb
lea eax, [esp + 0x88]
push eax
call fcn.00408da0
add esp, 4
push edx
push eax
call fcn.00468d50
add esp, 8
test eax, eax
je 0x425636
mov ebx, eax
test edx, edx
je 0x4257a9
test edx, edx
js 0x427828
push 1
push edx
mov esi, edx
call fcn.00406c70
mov edx, esi
add esp, 8
test eax, eax
jne 0x4257ae
jmp 0x42783f
test byte [edi + 2], 1
je 0x4274af
lea eax, [esp + 0x88]
push eax
call fcn.00408da0
add esp, 4
push edx
push eax
push esi
call fcn.00468dd0
add esp, 0xc
cmp dword [esp + 0x48], 0
mov ebx, dword [ebp + 8]
je 0x425a06
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x10], eax
mov dword [esp + 4], edx
mov dword [esp + 0x18], ecx
jmp 0x4257ca
mov dword [esp + 0xf4], ebx
add edx, ebx
mov ebx, dword [edi + 4]
mov eax, dword [edi]
mov ecx, ebx
and ecx, 4
test byte [edx + 0xc5], 0x40
je 0x4256aa
test ecx, ecx
je 0x42720c
mov dword [esp + 0xac], ebx
mov ebx, eax
mov dword [esp + 0x44], edx
not ebx
and ebx, 0x2000
or ebx, ecx
lea ebx, [esp + 0x88]
jne 0x4256ec
mov ecx, dword [esp + 0x20]
cmp ecx, dword [edi + 0xbc]
jne 0x4256ec
mov ecx, dword [esp + 0xac]
mov dword [edi], eax
or ecx, 4
mov dword [esp + 0xac], ecx
mov dword [edi + 4], ecx
mov eax, dword [edi + 0x11c]
test eax, eax
mov dword [esp + 0x28], eax
je 0x42572b
mov eax, dword [edi + 0x120]
mov ecx, dword [esp + 0x44]
cmp eax, dword [ecx + 0xa4]
jne 0x42572b
push eax
mov eax, dword [esp + 0x48]
push dword [eax + 0xa0]
push dword [esp + 0x30]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x425bef
mov eax, dword [edi + 0xac]
mov esi, 0
mov dword [esp + 0x134], 0
test eax, eax
je 0x425a41
mov ecx, dword [esp + 0x28]
mov esi, dword [edi + 0xa4]
mov edi, dword [edi + 0x120]
mov ebx, 0x4a9aac
test ecx, ecx
mov edx, ecx
cmove edx, ebx
cmove edi, ecx
imul ebx, eax, 0x78
mov dword [esp + 4], edx
jmp 0x42578c
add esi, 0x78
add ebx, 0xffffff88
je 0x425a3c
cmp dword [esi + 4], edi
jne 0x425780
push edi
push dword [esp + 8]
push dword [esi]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x425780
jmp 0x425a3e
mov eax, 1
push edx
push ebx
mov dword [esp + 0x18], eax
push eax
mov esi, edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ebx, dword [ebp + 8]
mov dword [esp + 4], esi
mov dword [esp + 0x18], esi
push 0
call fcn.00466fc0
add esp, 4
test eax, eax
je 0x427805
movdqu xmm0, xmmword [eax]
movd edx, xmm0
pshufd xmm1, xmm0, 0x55
add edx, 1
movd ecx, xmm1
adc ecx, 0
mov dword [eax], edx
mov dword [eax + 4], ecx
lea ecx, [esp + 0x61]
movdqu xmmword [esp + 0x48], xmm0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0x4aa7f0
mov dword [ecx + 0xb], 0
mov dword [ecx + 3], 0
mov dword [ecx - 1], 0
mov dword [ecx + 7], 0
jmp 0x425832
mov edi, esi
mov eax, dword [ebp + 0x14]
cmp dword [eax + 4], 0
mov dword [eax + 4], 0
je 0x425870
mov ecx, dword [esp + 0x9c]
mov eax, dword [ecx + 8]
movq xmm0, qword [ecx]
mov dword [esp + 0x140], eax
movq qword [esp + 0x138], xmm0
cmp dword [esp + 0x138], 0
jne 0x425890
jmp 0x42591f
push dword [eax]
lea eax, [esp + 0x13c]
push eax
call fcn.0045c370
add esp, 8
cmp dword [esp + 0x138], 0
je 0x42591f
mov eax, dword [esp + 0x140]
movq xmm0, qword [esp + 0x138]
mov esi, edi
lea edi, [esp + 0x108]
mov dword [esp + 0x110], eax
movq qword [esp + 0x108], xmm0
push edi
call fcn.00408da0
add esp, 4
push edx
push eax
call fcn.00468d50
add esp, 8
test eax, eax
jne 0x4258da
test byte [esi + 2], 1
je 0x425e86
push edi
call fcn.00408da0
add esp, 4
push edx
push eax
push 0
push 0x4a9aac
lea eax, [esp + 0x58]
push eax
call fcn.00431380
add esp, 0x14
mov eax, dword [esp + 0x10c]
test eax, eax
je 0x425830
push 1
push eax
push dword [esp + 0x110]
call fcn.00406c80
add esp, 0xc
jmp 0x425830
push 8
push 0x40
call fcn.00406c70
add esp, 8
test eax, eax
je 0x42782f
movsd xmm1, qword [esp + 0x68]
movsd xmm2, qword [esp + 0x60]
movq xmm0, qword [esp + 0x70]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov ebx, eax
movsd qword [eax + 0x20], xmm1
movsd xmm1, qword [esp + 0x58]
movsd qword [eax + 0x18], xmm2
movsd xmm2, qword [esp + 0x48]
movq qword [eax + 0x28], xmm0
movsd qword [eax + 0x10], xmm1
movq xmm1, qword [esp + 0x50]
movsd qword [eax], xmm2
movq qword [eax + 8], xmm1
mov dword [ebx + 0x30], edx
mov dword [ebx + 0x34], ecx
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x18]
mov esi, dword [ecx + 0x20]
mov ecx, dword [esp + 8]
mov dword [ebx + 0x38], edx
test esi, esi
je 0x4259c6
mov eax, dword [esi + 0x34]
test eax, eax
je 0x4259ae
push 1
push eax
push dword [esi + 0x30]
call fcn.00406c80
add esp, 0xc
mov ecx, esi
call fcn.0042ded0
push 8
push 0x40
push esi
call fcn.00406c80
add esp, 0xc
mov ecx, dword [esp + 8]
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x20], ebx
mov al, 1
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x8c]
lea esi, [esp + 0x88]
test eax, eax
je 0x4259fd
push 1
push eax
push dword [esp + 0x90]
call fcn.00406c80
mov ecx, dword [esp + 0x14]
add esp, 0xc
mov ebx, dword [esp + 0x14]
jmp 0x42457b
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
test ecx, ecx
mov dword [esp + 4], ecx
je 0x425cec
js 0x427828
push 1
push ecx
call fcn.00406c70
mov ecx, dword [esp + 0xc]
add esp, 8
test eax, eax
jne 0x425cf1
jmp 0x427858
xor esi, esi
mov edi, dword [ebp + 0xc]
mov ebx, dword [edi + 0xb8]
test ebx, ebx
je 0x425abb
mov ecx, edi
mov edx, dword [esp + 0x28]
mov edi, dword [edi + 0xb0]
mov eax, dword [ecx + 0x120]
mov ecx, 0x4a9aac
test edx, edx
cmove eax, edx
cmove edx, ecx
imul ebx, ebx, 0x110
mov dword [esp + 0x10], edx
mov dword [esp + 4], eax
jmp 0x425a8e
add edi, 0x110
add ebx, 0xfffffef0
je 0x425ab8
cmp dword [edi + 0x9c], eax
jne 0x425a80
push eax
push dword [esp + 0x14]
push dword [edi + 0x98]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [esp + 4]
jne 0x425a80
mov dword [esp + 0x134], edi
mov edi, dword [ebp + 0xc]
imul edx, dword [esp + 0x18], 0xf8
mov ecx, dword [esp + 0xf4]
mov ebx, dword [esp + 0x28]
mov eax, dword [edi + 0x120]
add edx, ecx
test ebx, ebx
cmove eax, ebx
mov dword [esp + 0x10], eax
mov eax, 0x4a9aac
cmove ebx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], ebx
xor ebx, ebx
neg eax
mov dword [esp + 4], eax
cmp ecx, edx
je 0x425b77
inc ebx
mov edi, ecx
jmp 0x425b12
mov ecx, edx
mov eax, dword [esp + 4]
mov edi, ecx
lea eax, [eax + ebx + 1]
inc ebx
cmp eax, 1
je 0x425b74
cmp edi, edx
je 0x425b00
mov eax, dword [edi]
lea ecx, [edi + 0xf8]
xor eax, 2
or eax, dword [edi + 4]
je 0x425b02
mov eax, dword [esp + 0x10]
cmp dword [edi + 0xa4], eax
jne 0x425b69
push eax
push dword [esp + 0x2c]
push dword [edi + 0xa0]
mov dword [esp + 0x100], ecx
mov dword [esp + 0x17c], edx
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0x17c]
mov ecx, dword [esp + 0x100]
add esp, 0xc
test eax, eax
je 0x425d2e
cmp ebx, dword [esp + 0x18]
mov edi, dword [ebp + 0xc]
jb 0x425af7
jmp 0x425b77
mov edi, dword [ebp + 0xc]
xor ebx, ebx
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0x134]
mov ecx, 0x4a9e98
shr edx, 8
and edx, 1
test eax, eax
cmovne ebx, eax
mov eax, 0x4a9e10
cmove eax, ecx
test esi, esi
mov ecx, 0x4a9f14
cmovne ebx, esi
cmovne eax, ecx
push edx
push dword [esp + 0x158]
push dword [esp + 0x100]
push eax
push ebx
push dword [ebp + 0x10]
call fcn.004300e0
add esp, 0x18
mov ecx, dword [esp + 0x44]
lea esi, [esp + 0x48]
lea ebx, [esp + 0x88]
mov eax, dword [ecx + 0xa0]
mov ecx, dword [ecx + 0xa4]
mov dword [edi + 0x11c], eax
mov dword [edi + 0x120], ecx
push ebx
call fcn.00408da0
add esp, 4
mov ebx, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, edx
mov ecx, esi
mov edx, edi
push ebx
push eax
push dword [esp + 0xc]
mov ebx, dword [esp + 0x50]
push ebx
call fcn.0042a830
add esp, 0x10
cmp dword [esp + 0x48], 0
jne 0x4275af
push dword [ebx + 0xa4]
push dword [ebx + 0xa0]
push dword [ebp + 0x10]
call fcn.00431180
add esp, 0xc
push dword [ebx + 0xa4]
push dword [ebx + 0xa0]
push edi
push esi
call fcn.00427870
add esp, 0x10
mov eax, dword [esp + 0x48]
test eax, eax
mov dword [esp + 4], eax
je 0x425cba
mov eax, dword [esp + 0x4c]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x50]
lea ecx, [eax*8]
test ecx, ecx
je 0x425c95
mov esi, dword [esp + 4]
lea edi, [esi + eax*8]
nop dword [eax]
push dword [esi + 4]
push dword [esi]
push ebx
call fcn.00431180
add esp, 0xc
add esi, 8
cmp esi, edi
jne 0x425c80
mov eax, dword [esp + 0x10]
mov edi, dword [ebp + 0xc]
mov ebx, dword [esp + 0x44]
test eax, eax
je 0x425cba
mov ecx, 8
mul ecx
push 4
push eax
push dword [esp + 0xc]
call fcn.00406c80
add esp, 0xc
or byte [edi + 4], 0x20
mov ecx, dword [esp + 8]
mov al, byte [ebx + 0xc4]
and al, 2
cmp al, 1
adc dword [esp + 0x20], 0
mov eax, dword [esp + 0x8c]
lea esi, [esp + 0x88]
test eax, eax
jne 0x4259e7
jmp 0x4259fd
mov eax, 1
push ecx
push esi
mov dword [esp + 0x18], eax
push eax
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x4257c6
cmp dword [esp + 4], 0
je 0x425d21
test ebx, ebx
je 0x425d21
push 1
push ebx
push dword [esp + 0x18]
call fcn.00406c80
add esp, 0xc
mov dword [esp + 0x14], 4
jmp 0x425169
mov ebx, edi
mov edi, dword [ebp + 0xc]
jmp 0x425b79
xor ebx, ebx
test byte [esp + 0x150], 1
jne 0x426de0
mov eax, dword [edi]
test al, 2
jne 0x42605d
xor ebx, ebx
test al, 0x80
je 0x426de0
lea esi, [esp + 0x48]
mov dword [esp + 0x2c], 1
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
lea edx, [esp + 0x2c]
mov ecx, esi
push 0
push 1
push edi
push 0x4a9d8c
call fcn.00442d30
add esp, 0x10
mov al, byte [esp + 0x60]
cmp al, 0x14
jne 0x42642b
push dword [esp + 0x34]
push dword [esp + 0x30]
push esi
call fcn.004747c0
add esp, 0xc
push esi
lea eax, [esp + 0xc4]
push eax
call fcn.00434fd0
add esp, 8
mov eax, dword [esp + 0xc8]
mov ebx, dword [ebp + 8]
movq xmm0, qword [esp + 0xc0]
mov dword [ebx + 8], eax
movq qword [ebx], xmm0
mov dword [ebx + 0xc], 0
mov al, 0xc
jmp 0x42645e
mov ecx, dword [esp + 0x4c]
mov ebx, dword [ebp + 8]
test ecx, ecx
je 0x427844
mov esi, dword [esp + 0x50]
mov eax, dword [ebp + 0x14]
test esi, esi
mov dword [esp + 0x28], esi
je 0x426222
cmp esi, 4
mov dword [esp + 4], ecx
jne 0x426229
cmp dword [ecx], 0x706c6568
jne 0x426231
test byte [edi + 1], 4
je 0x426231
lea ecx, [esp + 0x48]
mov edx, edi
push eax
call fcn.00422be0
add esp, 4
cmp dword [esp + 0x48], 0
je 0x426231
movsd xmm0, qword [esp + 0x5c]
mov eax, dword [esp + 0x64]
movsd xmm1, qword [esp + 0x54]
movsd qword [ebx + 0x10], xmm0
movsd xmm0, qword [esp + 0x4c]
jmp 0x4275cd
movsd xmm0, qword [esp + 0x58]
movsd xmm1, qword [esp + 0x60]
movsd qword [ebx + 0x14], xmm1
movsd qword [ebx + 0xc], xmm0
mov dword [ebx], eax
mov eax, dword [esp + 0xc]
jmp 0x426217
sub esp, 4
lea eax, [esp + 0xb8]
push 0
push dword [ebp + 0x10]
mov edi, esi
push esi
push eax
call fcn.00436cb0
add esp, 0x14
mov ecx, dword [edi]
mov esi, dword [esp + 0xb4]
mov eax, dword [esp + 0xbc]
mov edi, 2
mov edx, ecx
mov dword [esp + 0x158], esi
mov dword [esp + 0x15c], eax
shr edx, 0x17
and dl, 1
test ecx, 0x2000000
movzx ecx, dl
cmove edi, ecx
push edi
push 1
call fcn.00435900
add esp, 8
xor ecx, ecx
cmp al, 2
mov dword [esp + 0x100], str.error:
mov dword [esp + 0x104], 6
mov dword [esp + 0xa4], 0x4ad394
mov dword [esp + 0xa8], 6
mov dword [esp + 0x2c], 0x4ad674
mov dword [esp + 0x30], 3
mov dword [esp + 0x34], 0
setae cl
lea eax, [ecx + ecx*2]
mov dword [esp + 0xfc], eax
mov eax, 3
sbb eax, 0
mov dword [esp + 0xa0], eax
lea eax, [esp + 0xfc]
mov dword [esp + 0x118], eax
lea eax, [esp + 0x158]
mov dword [esp + 0x11c], 0x435b10
mov dword [esp + 0x120], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x124], 0x403db0
mov dword [esp + 0x128], eax
lea eax, [esp + 0x118]
mov dword [esp + 0x12c], 0x435b10
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x40], 3
push eax
lea eax, [esp + 0xc4]
push eax
call fcn.00474030
add esp, 8
mov byte [esp + 0xd8], 0xe
mov dword [esp + 0xcc], 0
mov eax, dword [esp + 0xd8]
movsd xmm0, qword [esp + 0xc0]
movsd xmm1, qword [esp + 0xd0]
movsd xmm2, qword [esp + 0xc8]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0xb8]
movsd qword [ebx + 0x10], xmm1
movsd qword [ebx + 8], xmm2
movsd qword [ebx], xmm0
test eax, eax
je 0x426017
push 1
push eax
push esi
call fcn.00406c80
add esp, 0xc
mov eax, dword [esp + 0x10c]
test eax, eax
je 0x426034
push 1
push eax
push dword [esp + 0x110]
call fcn.00406c80
add esp, 0xc
lea ecx, [esp + 0x48]
call fcn.00403ea0
mov eax, dword [esp + 4]
test eax, eax
je 0x4271d7
push 1
push eax
push dword [esp + 0x18]
call fcn.00406c80
add esp, 0xc
jmp 0x4271d7
cmp dword [edi + 0x1c], 0
lea eax, [edi + 0x10]
lea esi, [edi + 0x1c]
cmove esi, eax
sub esp, 4
mov ebx, edi
lea edi, [esp + 0x100]
push 0
push dword [ebp + 0x10]
push ebx
push edi
call fcn.00436cb0
add esp, 0x14
mov eax, dword [ebx]
mov edx, 2
mov dword [esp + 0x108], edi
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmove edx, eax
push edx
push 1
call fcn.00435900
add esp, 8
xor ecx, ecx
cmp al, 2
mov dword [esp + 0xa4], str.error:
mov dword [esp + 0xa8], 6
mov dword [esp + 0x11c], 0x4ad394
mov dword [esp + 0x120], 6
mov dword [esp + 0x2c], 0x4ad61c
mov dword [esp + 0x30], 4
mov dword [esp + 0x34], 0
setae cl
lea eax, [ecx + ecx*2]
mov dword [esp + 0xa0], eax
lea eax, [ecx + ecx + 1]
mov dword [esp + 0xb4], eax
mov eax, 3
mov dword [esp + 0xb8], esi
sbb eax, 0
mov dword [esp + 0x118], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x48], eax
lea eax, [esp + 0xb4]
mov dword [esp + 0x4c], 0x435b10
mov dword [esp + 0x50], eax
lea eax, [esp + 0x108]
mov dword [esp + 0x54], 0x435a50
mov dword [esp + 0x58], eax
lea eax, [esp + 0x118]
mov dword [esp + 0x5c], 0x4346f0
mov dword [esp + 0x60], eax
lea eax, [esp + 0x48]
mov dword [esp + 0x64], 0x435b10
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x40], 4
push eax
lea eax, [esp + 0xc4]
push eax
call fcn.00474030
add esp, 8
mov byte [esp + 0xd8], 0xb
mov dword [esp + 0xcc], 0
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0xd8]
movq xmm0, qword [esp + 0xc0]
movq xmm1, qword [esp + 0xd0]
movsd xmm2, qword [esp + 0xc8]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x100]
movq qword [ebx + 0x10], xmm1
movsd qword [ebx + 8], xmm2
movq qword [ebx], xmm0
test eax, eax
je 0x4271f4
push 1
push eax
push dword [esp + 0x104]
jmp 0x4271ec
movsd xmm0, qword [esp + 0x58]
movsd xmm1, qword [esp + 0x60]
movsd qword [ebx + 0x14], xmm1
movsd qword [ebx + 0xc], xmm0
mov dword [ebx], edx
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
jmp 0x4271d7
mov ebx, 1
jmp 0x42624e
test esi, esi
js 0x427828
push 1
mov esi, dword [esp + 0x2c]
push esi
call fcn.00406c70
add esp, 8
mov ecx, dword [esp + 4]
mov ebx, eax
test eax, eax
je 0x427853
push esi
push ecx
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x426276
push 1
push eax
push dword [esp + 0x90]
call fcn.00406c80
add esp, 0xc
test byte [esp + 0x150], 1
jne 0x426de0
test ebx, ebx
je 0x425d48
mov eax, dword [edi + 0xd4]
mov dword [esp + 0x44], ebx
test eax, eax
je 0x427835
mov ecx, dword [ebp + 0xc]
imul eax, eax, 0x138
mov esi, dword [ecx + 0xcc]
add eax, esi
mov dword [esp + 0x10], eax
jmp 0x4262d0
add esi, 0x138
cmp dword [esp + 0x10], esi
je 0x427835
mov ecx, dword [esp + 0x28]
lea eax, [esi + 0x10]
mov dword [esp + 4], eax
cmp dword [esi + 0x18], ecx
jne 0x426301
push dword [esp + 0x28]
push dword [esp + 0x48]
mov eax, dword [esp + 0xc]
push dword [eax]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
lea eax, [esp + 0x108]
je 0x42634e
mov edi, dword [esi + 0x60]
test edi, edi
je 0x4262c0
mov eax, dword [esi + 0x68]
shl eax, 2
lea ebx, [eax + eax*2]
test ebx, ebx
je 0x4262c0
add edi, 4
jmp 0x426328
add edi, 0xc
add ebx, 0xfffffff4
je 0x4262c0
mov eax, dword [esp + 0x28]
cmp dword [edi], eax
jne 0x426320
push dword [esp + 0x28]
push dword [esp + 0x48]
push dword [edi - 4]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
lea eax, [esp + 0x108]
jne 0x426320
push dword [esp + 4]
push eax
call fcn.00474ca0
add esp, 8
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x110]
mov dword [esp + 0xb4], 1
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
test byte [edi], 1
mov dword [esp + 0x9c], eax
mov dword [esp + 0x10], ecx
jne 0x42777a
mov edx, dword [edi + 0xf0]
mov edi, dword [edi + 0xf8]
lea ebx, [edi*8]
test edi, edi
je 0x42650a
mov dword [esp + 4], edx
js 0x427828
push 4
push ebx
call fcn.00406c70
add esp, 8
mov esi, dword [ebp + 0x10]
test eax, eax
je 0x42785d
mov edx, dword [esp + 4]
jmp 0x426512
lea ecx, [esp + 0x61]
mov bl, byte [esp + 0x64]
movzx edx, word [ecx + 4]
mov eax, dword [ecx - 1]
movq xmm0, qword [ecx - 9]
mov cl, byte [ecx + 6]
mov byte [esp + 0x1f], bl
mov ebx, dword [ebp + 8]
mov word [esp + 0xa0], dx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x120], eax
movq qword [esp + 0x118], xmm0
mov byte [esp + 0xa2], cl
jmp 0x42718f
mov ebx, dword [ebp + 8]
movq xmm0, qword [esp + 0x58]
movsd xmm2, qword [esp + 0x48]
movq xmm1, qword [esp + 0x50]
movzx ecx, word [esp + 0x61]
mov dl, byte [esp + 0x63]
movq qword [ebx + 0x10], xmm0
movq qword [ebx + 8], xmm1
movsd qword [ebx], xmm2
mov word [ebx + 0x19], cx
mov byte [ebx + 0x1b], dl
mov byte [ebx + 0x18], al
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4271f4
push 1
push eax
push dword [esp + 0x34]
jmp 0x4271ec
lea ecx, [esp + 0x61]
mov edx, dword [esp + 0x4c]
mov eax, dword [ecx - 1]
movq xmm0, qword [ecx - 9]
mov dword [esp + 0x120], eax
movzx eax, word [ecx + 4]
movq qword [esp + 0x118], xmm0
mov word [esp + 0xa0], ax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x24], eax
mov al, byte [ecx + 6]
mov ecx, dword [esp + 0x54]
mov byte [esp + 0xa2], al
mov al, byte [esp + 0x64]
mov dword [esp + 0x98], ecx
jmp 0x42718b
test eax, 0x8040000
je 0x4271fe
lea eax, [esp + 0x88]
push eax
call fcn.00408da0
add esp, 4
push 1
push 0x4a9c86
push edx
push eax
call fcn.00435bd0
add esp, 0x10
mov ebx, dword [ebp + 8]
test al, al
jne 0x427312
mov eax, dword [edi + 4]
jmp 0x427204
mov esi, dword [ebp + 0x10]
mov eax, 4
lea ecx, [edx + edi*8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edi
cmp edx, ecx
je 0x426542
lea esi, [edi - 1]
add ebx, 0xfffffff8
and esi, 0x1fffffff
shr ebx, 3
cmp esi, 3
mov dword [esp + 0x18], ebx
jae 0x426549
mov edi, edx
mov edx, eax
jmp 0x4266a9
xor eax, eax
jmp 0x4266d1
mov dword [esp + 0x24], esi
cmp eax, ecx
mov esi, edx
jae 0x426662
lea edx, [eax + edi*8]
cmp esi, edx
jae 0x426662
mov edx, eax
mov edi, esi
jmp 0x4266a9
mov ebx, eax
lea eax, [esp + 0x88]
push eax
mov dword [esp + 0xc], edx
call fcn.00408da0
add esp, 4
push edx
push eax
lea eax, [esp + 0x50]
push eax
call fcn.00468dd0
add esp, 0xc
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x11c]
push eax
call fcn.00434fd0
add esp, 8
cmp dword [edi + 0x1c], 0
lea eax, [edi + 0x10]
lea ecx, [edi + 0x1c]
cmove ecx, eax
mov dword [esp + 0xc], ecx
sub esp, 4
push 0
push dword [ebp + 0x10]
push edi
lea eax, [esp + 0x3c]
push eax
call fcn.00436cb0
add esp, 0x14
mov ecx, dword [esp + 0x2c]
mov eax, dword [edi]
mov edx, 2
mov edi, ecx
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmove edx, eax
push edx
push dword [esp + 0x38]
push edi
push dword [esp + 0x18]
push dword [esp + 0x18]
push ebx
lea eax, [esp + 0x130]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.0043c830
add esp, 0x20
mov eax, dword [esp + 0x60]
mov ebx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x58]
movsd xmm2, qword [esp + 0x48]
movsd xmm1, qword [esp + 0x50]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x30]
movsd qword [ebx + 0x10], xmm0
movsd qword [ebx + 8], xmm1
movsd qword [ebx], xmm2
test eax, eax
je 0x42664e
push 1
push eax
push edi
call fcn.00406c80
add esp, 0xc
cmp dword [esp + 0x10], 0
mov eax, dword [esp + 4]
jne 0x42752e
jmp 0x4271d7
mov edx, dword [esp + 0x24]
xor ebx, ebx
inc edx
mov edi, edx
mov dword [esp + 0x24], edx
and edi, 0xfffffffc
lea edx, [eax + edi*8]
mov dword [esp + 4], edi
lea edi, [esi + edi*8]
nop dword [eax]
movdqu xmm0, xmmword [esi + ebx*8]
movdqu xmm1, xmmword [esi + ebx*8 + 0x10]
movdqu xmmword [eax + ebx*8], xmm0
movdqu xmmword [eax + ebx*8 + 0x10], xmm1
add ebx, 4
cmp dword [esp + 4], ebx
jne 0x426680
mov eax, dword [esp + 4]
cmp dword [esp + 0x24], eax
je 0x4266c9
xor eax, eax
nop dword [eax + eax]
mov esi, dword [edi + eax]
mov ebx, dword [edi + eax + 4]
mov dword [edx + eax], esi
mov dword [edx + eax + 4], ebx
lea ebx, [edi + eax + 8]
add eax, 8
cmp ebx, ecx
jne 0x4266b0
mov eax, dword [esp + 0x18]
mov esi, dword [ebp + 0x10]
inc eax
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x10]
mov esi, dword [esi + 0x1c]
movdqa xmm0, xmmword [ecx]
lea eax, [eax + ecx + 1]
mov dword [esp + 0x48], ecx
add ecx, 0x10
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
lea eax, [esp + 0x48]
pmovmskb edx, xmm0
not edx
mov word [esp + 0x54], dx
mov dword [esp + 0x58], esi
push eax
lea eax, [esp + 0xc4]
push eax
call fcn.00441620
add esp, 8
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x426791
mov ebx, dword [esp + 0x18]
lea edx, [ebx + eax*8]
mov dword [esp + 4], edx
jmp 0x426766
mov ecx, dword [esp + 0x2c]
add ebx, 8
mov dword [ecx + eax*8], esi
mov dword [ecx + eax*8 + 4], edi
inc dword [esp + 0x34]
cmp ebx, edx
je 0x426791
mov esi, dword [ebx]
test esi, esi
je 0x426791
mov eax, dword [esp + 0x34]
mov edi, dword [ebx + 4]
cmp eax, dword [esp + 0x30]
jne 0x426750
push eax
lea eax, [esp + 0x30]
push eax
call fcn.004185d0
mov edx, dword [esp + 0xc]
add esp, 8
mov eax, dword [esp + 0x34]
jmp 0x426750
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4267af
mov ecx, 8
mul ecx
push 4
push eax
push dword [esp + 0x20]
call fcn.00406c80
add esp, 0xc
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
sub esp, 0x20
mov edx, dword [ebp + 0x10]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0xe0]
mov dword [esp + 8], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp], ecx
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0xc]
mov dword [esp + 4], edx
call fcn.00438cb0
add esp, 0x20
mov edi, dword [esp + 0xc0]
mov ebx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
cmp edi, ebx
mov dword [esp + 4], eax
mov dword [esp + 0x18], ecx
je 0x4268c0
mov eax, dword [esp + 0x18]
lea esi, [eax - 1]
nop word cs:[eax + eax]
nop
mov ecx, dword [esp + 4]
lea eax, [edi + edi*2]
mov dword [esp + 0x48], 0x4a9cd0
mov dword [esp + 0x4c], 1
mov dword [esp + 0x50], 0
lea eax, [ecx + eax*4]
mov dword [esp + 0x138], eax
lea eax, [esp + 0x138]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0xb4]
mov dword [esp + 0xa4], 0x4346f0
mov dword [esp + 0xfc], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x48]
mov dword [esp + 0x5c], 1
push eax
push 0x4ac8dc
lea eax, [esp + 0x104]
push eax
call fcn.00477670
add esp, 0xc
test al, al
jne 0x4277d4
inc edi
and edi, esi
cmp edi, ebx
jne 0x426830
lea eax, [esp + 0xc0]
push eax
call fcn.00436b00
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4268ee
mov ecx, 0xc
mul ecx
push 4
push eax
push dword [esp + 0xc]
call fcn.00406c80
add esp, 0xc
mov eax, dword [esp + 0x30]
mov edi, dword [ebp + 0xc]
test eax, eax
je 0x42690f
mov ecx, 8
mul ecx
push 4
push eax
push dword [esp + 0x34]
call fcn.00406c80
add esp, 0xc
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
cmp eax, ecx
je 0x42777c
mov eax, dword [esp + 0xb4]
mov byte [eax + ecx], 0x20
inc ecx
mov eax, dword [edi + 0xd4]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x426da2
mov ebx, dword [edi + 0xcc]
imul esi, eax, 0x138
jmp 0x426972
add ebx, 0x138
add esi, 0xfffffec8
je 0x426da2
cmp dword [ebx + 0x18], ecx
jne 0x426960
push ecx
push dword [esp + 0xa0]
push dword [ebx + 0x10]
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x426960
push 0
call fcn.00466fc0
add esp, 4
test eax, eax
je 0x427805
movdqu xmm0, xmmword [eax]
lea esi, [edi + 0x1c]
movd edx, xmm0
pshufd xmm1, xmm0, 0x55
add edx, 1
movd ecx, xmm1
adc ecx, 0
mov dword [eax], edx
mov dword [eax + 4], ecx
mov ecx, esi
movdqu xmmword [esp + 0xc0], xmm0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0x4aa7f0
mov dword [esp + 0xa0], 1
mov dword [esp + 0xa4], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xa8], 0
mov eax, dword [edi + 0x1c]
lea edi, [esp + 0xa0]
test eax, eax
cmove ecx, edi
cmovne eax, dword [esp + 0xbc]
mov dword [esp + 0x160], ecx
mov ecx, 0x4a9aac
cmovne ecx, dword [esp + 0xb4]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x48], 0x4a9cb8
mov dword [esp + 0x4c], 3
mov dword [esp + 0x50], 0
mov dword [esp + 0x138], eax
lea eax, [esp + 0x160]
mov dword [esp + 0x13c], ecx
lea ecx, [esp + 0xfc]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x88]
mov dword [esp + 0x30], 0x4346f0
mov dword [esp + 0x34], eax
lea eax, [esp + 0x138]
mov dword [esp + 0x38], 0x403db0
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x40], 0x403db0
mov dword [esp + 0x58], eax
lea eax, [esp + 0x48]
mov dword [esp + 0x5c], 3
push eax
push ecx
call fcn.00474030
add esp, 8
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x426b11
push 1
push eax
push dword [esp + 0xa8]
call fcn.00406c80
add esp, 0xc
mov eax, dword [ebx + 0x74]
test eax, eax
je 0x426b2b
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x426b2b
push 1
push ecx
push eax
call fcn.00406c80
add esp, 0xc
mov eax, dword [esp + 0x104]
mov ecx, 0x4a9aac
mov edx, 0x4a9c19
mov dword [ebx + 0x7c], eax
xor eax, eax
movsd xmm0, qword [esp + 0xfc]
movsd qword [ebx + 0x74], xmm0
mov dword [esp + 0xa0], 1
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
cmp dword [esi], 0
cmovne edi, esi
cmove edx, ecx
setne al
lea esi, [esp + 0x48]
mov dword [esp + 0x88], edx
mov dword [esp + 0x160], edi
mov dword [esp + 0x8c], eax
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x48], 0x4a9cb8
mov dword [esp + 0x4c], 3
mov dword [esp + 0x50], 0
mov dword [esp + 0x138], eax
lea eax, [esp + 0x160]
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x88]
mov dword [esp + 0x30], 0x4346f0
mov dword [esp + 0x34], eax
lea eax, [esp + 0x138]
mov dword [esp + 0x38], 0x403db0
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x40], 0x403db0
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], 3
push esi
lea eax, [esp + 0x100]
push eax
call fcn.00474030
add esp, 8
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x426c38
push 1
push eax
push dword [esp + 0xa8]
call fcn.00406c80
add esp, 0xc
mov eax, dword [ebx + 0x1c]
mov edi, dword [ebp + 0xc]
test eax, eax
je 0x426c55
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x426c55
push 1
push ecx
push eax
call fcn.00406c80
add esp, 0xc
mov eax, dword [esp + 0x104]
mov dword [ebx + 0x24], eax
movsd xmm0, qword [esp + 0xfc]
movsd qword [ebx + 0x1c], xmm0
push dword [ebp + 0x14]
lea eax, [esp + 0xc4]
push eax
push ebx
push esi
call fcn.00424460
add esp, 0x10
mov al, byte [esp + 0x60]
cmp al, 0x14
jne 0x4275de
add ebx, 0x10
lea eax, [esp + 0x78]
push ebx
push eax
call fcn.00474ca0
add esp, 8
movsd xmm1, qword [esp + 0xe0]
movsd xmm2, qword [esp + 0xd8]
movq xmm0, qword [esp + 0xe8]
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0xd0]
movsd qword [esp + 0x60], xmm2
movsd xmm2, qword [esp + 0xc0]
movq qword [esp + 0x70], xmm0
movsd qword [esp + 0x58], xmm1
movq xmm1, qword [esp + 0xc8]
movsd qword [esp + 0x48], xmm2
movq qword [esp + 0x50], xmm1
push 8
push 0x40
call fcn.00406c70
add esp, 8
test eax, eax
je 0x42782f
movsd xmm1, qword [esp + 0x78]
movsd xmm2, qword [esp + 0x70]
movq xmm0, qword [esp + 0x80]
mov ebx, eax
movsd qword [eax + 0x30], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [eax + 0x28], xmm2
movsd xmm2, qword [esp + 0x60]
movq qword [eax + 0x38], xmm0
movsd qword [eax + 0x20], xmm1
movsd xmm1, qword [esp + 0x58]
movsd qword [eax + 0x18], xmm2
movsd xmm2, qword [esp + 0x48]
movsd qword [eax + 0x10], xmm1
movq xmm1, qword [esp + 0x50]
movsd qword [eax], xmm2
movq qword [eax + 8], xmm1
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + 0x20]
test esi, esi
je 0x426d9f
mov eax, dword [esi + 0x34]
test eax, eax
je 0x426d88
push 1
push eax
push dword [esi + 0x30]
call fcn.00406c80
add esp, 0xc
mov ecx, esi
call fcn.0042ded0
push 8
push 0x40
push esi
call fcn.00406c80
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x20], ebx
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x426dbf
push 1
push eax
push dword [esp + 0xbc]
call fcn.00406c80
add esp, 0xc
mov eax, dword [esp + 0x10c]
mov ebx, dword [esp + 0x44]
test eax, eax
je 0x426de0
push 1
push eax
push dword [esp + 0x110]
call fcn.00406c80
add esp, 0xc
mov eax, dword [edi + 4]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x9c], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0xac]
test eax, eax
je 0x426e62
mov edx, edi
mov ecx, dword [edi + 0x11c]
mov edi, dword [edi + 0x120]
mov esi, 0x4a9aac
mov edx, dword [edx + 0xa4]
test ecx, ecx
cmove edi, ecx
cmovne esi, ecx
imul ebx, eax, 0x78
mov eax, edx
jmp 0x426e38
add eax, 0x78
add ebx, 0xffffff88
je 0x426e57
cmp dword [eax + 4], edi
jne 0x426e30
push edi
push esi
push dword [eax]
mov dword [esp + 0x1c], eax
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x426e30
jmp 0x426e5f
mov dword [esp + 0x10], 0
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0xb8]
test eax, eax
je 0x426ed7
mov ecx, dword [edi + 0x11c]
mov edx, edi
mov edi, dword [edi + 0x120]
mov esi, 0x4a9aac
mov ebx, dword [edx + 0xb0]
test ecx, ecx
cmovne esi, ecx
cmove edi, ecx
mov dword [esp + 4], esi
imul esi, eax, 0x110
jmp 0x426eae
add ebx, 0x110
add esi, 0xfffffef0
je 0x426ed4
cmp dword [ebx + 0x9c], edi
jne 0x426ea0
push edi
push dword [esp + 8]
push dword [ebx + 0x98]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x426ea0
mov dword [esp + 0x9c], ebx
mov edi, dword [ebp + 0xc]
mov ecx, dword [edi + 0xc8]
test ecx, ecx
je 0x426fa2
mov esi, dword [edi + 0xc0]
mov eax, dword [edi + 0x11c]
mov ebx, dword [edi + 0x120]
imul edx, ecx, 0xf8
add edx, esi
test eax, eax
cmove ebx, eax
mov dword [esp + 0x24], ebx
mov ebx, 0x4a9aac
cmovne ebx, eax
mov eax, ecx
mov dword [esp + 0x98], ebx
neg eax
xor ebx, ebx
mov dword [esp + 4], eax
cmp esi, edx
je 0x426fa2
inc ebx
mov edi, esi
jmp 0x426f42
mov esi, edx
mov eax, dword [esp + 4]
mov edi, esi
lea eax, [eax + ebx + 1]
inc ebx
cmp eax, 1
je 0x426f9f
cmp edi, edx
je 0x426f30
mov eax, dword [edi]
lea esi, [edi + 0xf8]
xor eax, 2
or eax, dword [edi + 4]
je 0x426f32
mov eax, dword [esp + 0x24]
cmp dword [edi + 0xa4], eax
jne 0x426f96
push eax
push dword [esp + 0x9c]
push dword [edi + 0xa0]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x2c], edx
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0xb8]
add esp, 0xc
test eax, eax
je 0x42779b
mov edi, dword [ebp + 0xc]
cmp ebx, ecx
jb 0x426f21
jmp 0x426fa2
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
xor ebx, ebx
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x9c]
mov ecx, 0x4a9e10
shr edx, 8
and edx, 1
test eax, eax
cmovne ebx, eax
mov eax, 0x4a9e98
cmove ecx, eax
mov eax, dword [esp + 0x10]
test eax, eax
cmovne ebx, eax
mov eax, 0x4a9f14
cmove eax, ecx
push edx
push dword [esp + 0x158]
push dword [esp + 0x100]
push eax
push ebx
push esi
call fcn.004300e0
add esp, 0x18
mov eax, dword [edi + 0x110]
shl eax, 4
mov dword [esp + 0x9c], eax
je 0x4270e3
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x108]
mov ebx, dword [eax + 0xf0]
add dword [esp + 0x9c], ecx
jmp 0x427044
mov ecx, dword [esp + 0x10]
mov esi, dword [ebp + 0x10]
cmp ecx, dword [esp + 0x9c]
je 0x4270e3
mov eax, ecx
add ecx, 0x10
mov edx, dword [eax + 8]
mov edi, dword [eax + 0xc]
mov dword [esp + 0x10], ecx
mov dword [esp + 4], edx
push dword [eax + 4]
push dword [eax]
push esi
call fcn.00432c50
add esp, 0xc
test al, al
je 0x427030
push edi
push dword [esp + 8]
push dword [ebp + 0x10]
call fcn.00430fa0
add esp, 0xc
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xf8]
test ecx, ecx
mov eax, ecx
mov dword [esp + 0x18], ecx
je 0x427030
mov esi, dword [esp + 0x18]
lea eax, [esi - 1]
mov dword [esp + 0xf8], eax
jmp 0x4270a3
dec esi
je 0x427030
cmp dword [ebx + esi*8 - 4], edi
jne 0x4270a0
push edi
push dword [esp + 8]
push dword [ebx + esi*8 - 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x4270a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xf8]
movq xmm0, qword [ebx + eax*8 - 8]
mov eax, dword [ebp + 0xc]
movq qword [ebx + esi*8 - 8], xmm0
mov dword [eax + 0xf8], ecx
jmp 0x427030
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
push esi
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0x38]
push eax
mov ebx, dword [ebp + 8]
push ebx
call fcn.0044a800
add esp, 0x14
jmp 0x4271f4
lea esi, [esp + 0x61]
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x4c]
mov ecx, dword [esi - 5]
movq xmm0, qword [esi - 0xd]
mov ah, byte [esi + 2]
mov dword [esp + 0x24], edi
mov dword [esp + 0x120], ecx
movzx ecx, word [esi]
mov esi, dword [esp + 0x50]
mov byte [esp + 0xa2], ah
movq qword [esp + 0x118], xmm0
mov word [esp + 0xa0], cx
mov dword [esp + 0x98], esi
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0x120]
movsd xmm0, qword [esp + 0x118]
movzx edi, word [esp + 0xa0]
mov ch, byte [esp + 0xa2]
mov esi, dword [esp + 0x24]
mov cl, byte [esp + 0x1f]
mov dword [ebx + 0x14], eax
movsd qword [ebx + 0xc], xmm0
mov word [ebx + 0x19], di
mov byte [ebx + 0x1b], ch
mov dword [ebx], edx
mov edx, dword [esp + 0x98]
mov dword [ebx + 4], esi
mov dword [ebx + 8], edx
mov byte [ebx + 0x18], cl
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x4271f4
push 1
push eax
push dword [esp + 0x90]
call fcn.00406c80
add esp, 0xc
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [edi + 4]
mov ebx, dword [ebp + 8]
test al, 0x40
jne 0x427312
lea eax, [esp + 0x88]
push eax
call fcn.00408da0
add esp, 4
push edx
push eax
lea eax, [esp + 0xc8]
push eax
call fcn.00468dd0
add esp, 0xc
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xc4]
mov edi, dword [esp + 0xc8]
test ecx, ecx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp + 0xc], edi
je 0x42725a
mov edi, dword [esp + 0xcc]
sub esp, 4
push 0
push dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
push ebx
lea eax, [esp + 0x3c]
push eax
call fcn.00436cb0
add esp, 0x14
mov eax, dword [ebx]
mov esi, dword [esp + 0x2c]
mov edx, 2
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmove edx, eax
push edx
push dword [esp + 0x38]
push esi
push 0
push 0x4a9aac
push edi
mov edi, dword [esp + 0x20]
push edi
lea eax, [esp + 0x64]
push eax
call fcn.0043daa0
add esp, 0x20
mov eax, dword [esp + 0x60]
mov ecx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x58]
movsd xmm2, qword [esp + 0x48]
movsd xmm1, qword [esp + 0x50]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x30]
movsd qword [ecx + 0x10], xmm0
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm2
test eax, eax
je 0x4272ef
push 1
push eax
push esi
call fcn.00406c80
add esp, 0xc
cmp dword [esp + 4], 0
mov eax, dword [esp + 0xc]
je 0x42730a
test eax, eax
je 0x42730a
push 1
push eax
push edi
call fcn.00406c80
add esp, 0xc
mov ebx, dword [ebp + 8]
jmp 0x4271d7
cmp byte [esp + 0xb3], 0
je 0x427333
test byte [edi + 4], 0x40
je 0x42720c
cmp dword [edi + 0xd4], 0
je 0x42720c
lea eax, [esp + 0x88]
push eax
call fcn.00408da0
add esp, 4
push edx
push eax
lea eax, [esp + 0xc8]
push eax
call fcn.00468dd0
add esp, 0xc
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc8]
test ecx, ecx
mov dword [esp + 4], ecx
mov dword [esp + 0xc], eax
je 0x427381
mov eax, dword [esp + 0xcc]
mov ecx, dword [edi + 0xcc]
imul edx, dword [edi + 0xd4], 0x138
add edx, ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], 1
push esi
push eax
push dword [esp + 0x10]
call fcn.00432f50
add esp, 0xc
test eax, eax
je 0x4276ce
mov dword [esp + 0x10], eax
lea eax, [esp + 0x88]
push eax
mov dword [esp + 0x18], edx
call fcn.00408da0
add esp, 4
push edx
push eax
push esi
call fcn.00468dd0
add esp, 0xc
push esi
lea eax, [esp + 0x11c]
push eax
call fcn.00434fd0
add esp, 8
cmp dword [edi + 0x1c], 0
lea eax, [edi + 0x10]
lea ebx, [edi + 0x1c]
cmove ebx, eax
sub esp, 4
push 0
push dword [ebp + 0x10]
push edi
lea eax, [esp + 0x3c]
push eax
call fcn.00436cb0
add esp, 0x14
mov eax, edi
mov edi, dword [esp + 0x2c]
mov edx, 2
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmove edx, eax
push edx
push dword [esp + 0x38]
push edi
push ebx
mov ebx, dword [ebp + 8]
push dword [esp + 0x24]
push dword [esp + 0x24]
lea eax, [esp + 0x130]
push eax
push esi
call fcn.0043c830
add esp, 0x20
mov eax, dword [esp + 0x60]
movsd xmm0, qword [esp + 0x58]
movsd xmm2, qword [esp + 0x48]
movsd xmm1, qword [esp + 0x50]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x30]
movsd qword [ebx + 0x10], xmm0
movsd qword [ebx + 8], xmm1
movsd qword [ebx], xmm2
test eax, eax
je 0x427756
push 1
push eax
push edi
call fcn.00406c80
add esp, 0xc
jmp 0x427756
sub esp, 4
push 0
push dword [ebp + 0x10]
push edi
lea eax, [esp + 0xd0]
push eax
call fcn.00436cb0
add esp, 0x14
mov eax, dword [edi]
mov edx, esi
mov esi, dword [esp + 0xc0]
mov edi, 2
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmove edi, eax
push edi
push dword [esp + 0xcc]
push esi
push edx
call fcn.0043cba0
add esp, 0x10
mov eax, dword [esp + 0x60]
mov ebx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x58]
movsd xmm2, qword [esp + 0x48]
movsd xmm1, qword [esp + 0x50]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0xc4]
movsd qword [ebx + 0x10], xmm0
movsd qword [ebx + 8], xmm1
movsd qword [ebx], xmm2
test eax, eax
je 0x4271d7
push 1
push eax
push esi
jmp 0x426050
xor ecx, ecx
xor ebx, ebx
mov edi, dword [esp + 0xc]
cmp edi, esi
je 0x42758c
inc ebx
jmp 0x42755a
mov edi, esi
lea eax, [edx + ebx + 1]
inc ebx
cmp eax, 1
je 0x42758c
cmp edi, esi
je 0x42754e
lea eax, [edi + 0xf8]
mov dword [esp + 0xc], eax
mov eax, dword [edi]
xor eax, 2
or eax, dword [edi + 4]
jne 0x427582
mov edi, dword [esp + 0xc]
lea eax, [edx + ebx + 1]
inc ebx
cmp eax, 1
jne 0x42755a
jmp 0x42758c
cmp ebx, dword [esp + 8]
mov ecx, edi
jb 0x427543
jmp 0x427596
test ecx, ecx
mov edi, ecx
je 0x4244f1
test byte [edi + 0xc5], 0x40
jne 0x4244f1
mov eax, dword [ebp + 0xc]
or byte [eax + 3], 0x10
jmp 0x4244f1
lea ecx, [esp + 0x61]
mov ebx, dword [ebp + 8]
movsd xmm0, qword [ecx - 5]
mov eax, dword [ecx + 3]
movsd xmm1, qword [ecx - 0xd]
movsd qword [ebx + 0x10], xmm0
movsd xmm0, qword [ecx - 0x15]
mov dword [ebx + 0x18], eax
movsd qword [ebx + 8], xmm1
movsd qword [ebx], xmm0
jmp 0x4271d7
mov byte [esp + 8], al
movzx eax, word [esp + 0x61]
movsd xmm0, qword [esp + 0x58]
movsd xmm2, qword [esp + 0x48]
movsd xmm1, qword [esp + 0x50]
lea ecx, [esp + 0xc0]
mov word [esp + 0x158], ax
mov al, byte [esp + 0x63]
movsd qword [esp + 0x128], xmm0
movsd qword [esp + 0x120], xmm1
movsd qword [esp + 0x118], xmm2
mov byte [esp + 0x15a], al
call fcn.00403ea0
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x427650
push 1
push eax
push dword [esp + 0xbc]
call fcn.00406c80
add esp, 0xc
movsd xmm0, qword [esp + 0x128]
mov ebx, dword [ebp + 8]
movsd xmm2, qword [esp + 0x118]
movsd xmm1, qword [esp + 0x120]
movzx eax, word [esp + 0x158]
movsd qword [ebx + 0x10], xmm0
movsd qword [ebx + 8], xmm1
movsd qword [ebx], xmm2
mov word [ebx + 0x19], ax
mov al, byte [esp + 0x15a]
mov byte [ebx + 0x1b], al
mov al, byte [esp + 8]
mov byte [ebx + 0x18], al
mov eax, dword [esp + 0x10c]
test eax, eax
je 0x4276b6
push 1
push eax
push dword [esp + 0x110]
call fcn.00406c80
add esp, 0xc
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4271f4
push 1
push eax
push dword [esp + 0x4c]
jmp 0x4271ec
lea eax, [esp + 0x88]
push eax
call fcn.00408da0
add esp, 4
push edx
push eax
push esi
call fcn.00468dd0
add esp, 0xc
push esi
lea eax, [esp + 0x30]
push eax
call fcn.00434fd0
add esp, 8
cmp dword [edi + 0x1c], 0
lea ecx, [edi + 0x10]
lea eax, [edi + 0x1c]
cmove eax, ecx
mov ecx, dword [edi]
mov edi, 2
mov edx, ecx
shr edx, 0x17
and dl, 1
test ecx, 0x2000000
movzx ecx, dl
cmove edi, ecx
push edi
push eax
lea eax, [esp + 0x34]
push eax
push esi
call fcn.0043ca30
add esp, 0x10
mov eax, dword [esp + 0x60]
movsd xmm0, qword [esp + 0x58]
movsd xmm2, qword [esp + 0x48]
movsd xmm1, qword [esp + 0x50]
mov dword [ebx + 0x18], eax
movsd qword [ebx + 0x10], xmm0
movsd qword [ebx + 8], xmm1
movsd qword [ebx], xmm2
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0xc]
test ecx, ecx
je 0x4271d7
test eax, eax
je 0x4271d7
push 1
push eax
push dword [esp + 0x10]
jmp 0x426050
xor eax, eax
lea ecx, [esp + 0xb4]
push 1
push eax
push ecx
call fcn.0047c9a0
add esp, 0xc
mov ecx, dword [esp + 0xbc]
jmp 0x426925
mov ebx, edi
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
jmp 0x426fa7
push 0x4a9ca8
push 0x63
push 0x4a9bb6
call fcn.00480510
add esp, 0xc
ud2
push 0x4aa62c
push 0x23
push str.unexpected_invalid_UTF_8_code_pointC:Users_appveyor.cargo_registry_srcgithub.com_1285ae84e5963aaeclap_2.33.4_srcosstringext.rs
call fcn.00480510
add esp, 0xc
ud2
push 0x4a9cd8
push 0x4a9b2c
lea eax, [esp + 0x104]
push eax
push 0x63
push 0x4a9bb6
jmp 0x42781e
push 0x4a9dd8
push 0x23
push 0x4a9db4
call fcn.00480510
add esp, 0xc
ud2
lea eax, [esp + 0xfc]
push 0x4aa0d8
push 0x4aa0e8
push eax
push 0x46
push str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_4b91a6ea7258a947e59c6522cd5898e7c0a6a88flibrary_std_src_threadlocal.rs
call fcn.004806c0
add esp, 0x14
ud2
call fcn.00473a80
ud2
push 8
push 0x40
jmp 0x427860
push 0x4a9c98
jmp 0x4277ad
push 1
push edx
jmp 0x427860
push 0x4a9c88
jmp 0x4277ad
push 1
push edi
jmp 0x427860
push 1
push esi
jmp 0x427860
push 1
push ecx
jmp 0x427860
push 4
push ebx
call fcn.004804a0
add esp, 8
ud2