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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x490
mov eax, dword [edx + 8]
mov dword [esp + 0x30], ecx
mov ecx, dword [edx + 4]
mov edi, dword [edx + 0xc]
lea esi, [esp + 0xe8]
mov dword [esp + 4], edx
imul ebx, eax, 0xf8
mov dword [esi], ecx
mov dword [esp + 8], ecx
mov dword [esp], eax
add ebx, ecx
mov dword [esi + 4], ebx
and dword [esi + 8], 0
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], edi
and dword [esi + 0x14], 0
mov ecx, esi
call fcn.004225c9
test edx, edx
je 0x437bc0
test byte [edx + 0xec], 2
je 0x437b58
cmp edi, dword [edx + 0xf0]
je 0x437b58
mov eax, dword [esp + 8]
mov ecx, dword [esp]
lea esi, [esp + 0xe8]
xor edx, edx
mov dword [esi], eax
mov dword [esi + 4], ebx
and dword [esi + 8], 0
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], edi
and dword [esi + 0x14], 0
mov ecx, esi
mov ebx, edx
call fcn.004225c9
test edx, edx
jne 0x437b97
test ebx, ebx
lea esi, [esp + 0xe8]
je 0x437bc0
test byte [ebx + 0xed], 0x40
jne 0x437bc0
mov eax, dword [esp + 4]
or byte [eax + 0x13], 0x10
mov eax, dword [esp + 4]
mov dword [esp + 0x248], 0
or edi, dword [eax + 0xdc]
mov ecx, eax
or edi, dword [eax + 0xe8]
mov edi, eax
setne byte [esp + 0x234]
call fcn.00436a4a
mov edx, dword [ebp + 0xc]
lea eax, [edi + 0x128]
mov dword [esp + 0x220], 0x80000000
mov dword [esp + 0x23c], eax
lea eax, [edi + 0x110]
mov dword [esp + 0xd4], eax
lea eax, [edx + 4]
mov dword [esp + 0x238], eax
xor eax, eax
inc eax
push 5
pop ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x24c]
call fcn.00425078
mov eax, dword [esp + 0x24c]
cmp eax, 0x80000000
mov dword [esp + 0x24], eax
je 0x43aad6
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x250]
mov ecx, edi
mov edi, esi
mov esi, dword [esp + 0x254]
and dword [ecx + 0x14], 0xfffffff7
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x18]
mov edx, ebx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xf0], eax
push edi
mov edi, ecx
push esi
call fcn.0043779f
pop ecx
pop edx
mov ecx, dword [edi + 0x14]
mov edx, eax
push 4
pop eax
test ecx, eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], esi
jne 0x438ac0
mov eax, dword [edi + 0x10]
mov dword [esp], ecx
mov ecx, ebx
mov ebx, edx
mov edx, esi
mov dword [esp + 8], eax
push 2
push str.__assertion_failed:_self.bump_if______
call fcn.004379ee
pop ecx
pop edx
cmp esi, 2
sete cl
and al, bl
and al, cl
cmp al, 1
jne 0x437ced
push 4
pop eax
mov ecx, dword [esp]
mov edx, dword [esp + 8]
or ecx, eax
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], ecx
jmp 0x43808a
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0xe8]
lea eax, [edx - 1]
cmp eax, 2
jb 0x437d24
mov edx, edi
push dword [esp + 0x1c]
push dword [esp + 0x18]
call fcn.0043718b
mov edx, dword [esp + 0x28]
add esp, 8
cmp byte [esp + 0xe8], 0
jne 0x43a0d2
test bl, bl
je 0x437d37
mov ebx, dword [edi + 0x20]
test ebx, ebx
je 0x437d8f
mov dword [esp], ebx
mov ebx, dword [edi + 0x24]
jmp 0x437d95
cmp edx, 1
jne 0x438ac0
mov esi, dword [edi + 0xe4]
imul edi, dword [edi + 0xe8], 0x110
mov eax, 0xfffffef0
add esi, eax
test edi, edi
je 0x438028
mov ecx, dword [esi + 0x204]
mov edx, dword [esi + 0x208]
push dword [esp + 0x28]
push dword [esp + 0x1c]
call fcn.00421605
pop ecx
pop edx
add esi, 0x110
add edi, 0xfffffef0
test al, al
je 0x437d57
jmp 0x43802a
xor eax, eax
inc eax
mov dword [esp], eax
mov eax, dword [edi + 0x14]
mov ecx, edi
mov edi, dword [edi + 0xd8]
imul esi, dword [ecx + 0xdc], 0x78
add edi, 0xffffff88
mov dword [esp + 0x40], eax
test esi, esi
je 0x437dd6
mov ecx, dword [edi + 0xd4]
mov edx, dword [edi + 0xd8]
push ebx
push dword [esp + 4]
call fcn.00421605
pop ecx
pop edx
add edi, 0x78
add esi, 0xffffff88
test al, al
je 0x437dae
jmp 0x437dd8
xor edi, edi
mov eax, dword [esp + 4]
mov dword [esp + 8], ebx
mov ecx, 0xfffffef0
mov ebx, dword [eax + 0xe4]
imul esi, dword [eax + 0xe8], 0x110
add ebx, ecx
test esi, esi
je 0x437e28
mov ecx, dword [ebx + 0x204]
mov edx, dword [ebx + 0x208]
push dword [esp + 8]
push dword [esp + 4]
call fcn.00421605
pop ecx
pop edx
add ebx, 0x110
add esi, 0xfffffef0
test al, al
je 0x437df7
jmp 0x437e2a
xor ebx, ebx
mov edx, dword [esp + 4]
mov ecx, dword [edx + 8]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
imul esi, ecx, 0xf8
mov dword [esp + 0xe8], eax
add esi, eax
mov dword [esp + 0xec], esi
and dword [esp + 0xf0], 0
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], edx
and dword [esp + 0xfc], 0
lea ecx, [esp + 0xe8]
call fcn.004225c9
test edx, edx
je 0x437e9e
mov esi, edx
mov ecx, dword [edx + 0xd4]
mov edx, dword [edx + 0xd8]
push dword [esp + 8]
push dword [esp + 4]
call fcn.00421605
pop ecx
pop edx
test al, al
je 0x437e6b
jmp 0x437ea0
xor esi, esi
mov ecx, 0x100
xor eax, eax
test dword [esp + 0x40], ecx
mov ecx, 0x502fcc
setne al
test ebx, ebx
cmovne esi, ebx
mov ebx, 0x502f50
cmove ebx, ecx
test edi, edi
mov ecx, 0x502ed4
cmovne ebx, ecx
mov ecx, dword [ebp + 8]
cmovne esi, edi
mov edx, esi
push eax
push dword [esp + 0xd8]
push dword [esp + 0x244]
push ebx
call 0x43ba9f
add esp, 0x10
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov ecx, esi
mov edx, ebx
push 2
push str.__assertion_failed:_self.bump_if______
call fcn.004379ee
pop ecx
pop edx
test al, al
je 0x437fab
mov edi, dword [esp + 4]
mov ecx, esi
mov edx, ebx
inc dword [edi + 0x134]
push 0x3d
call fcn.0044136e
pop ecx
mov byte [esp + 8], al
mov ecx, esi
mov edx, ebx
push 0x2d
call fcn.00441427
pop ecx
cmp byte [esp + 8], 0
mov ebx, edx
mov dword [esp], eax
je 0x4380a6
mov ecx, eax
mov edx, ebx
call fcn.004251bd
xor esi, esi
cmp edx, esi
je 0x438104
mov edi, esi
inc esi
cmp byte [eax + edi], 0x3d
jne 0x437f4d
mov ecx, dword [esp]
mov edx, ebx
call fcn.004251bd
cmp edi, edx
mov dword [esp + 8], eax
ja 0x43ba7b
mov ecx, dword [esp]
mov edx, ebx
call fcn.004251bd
mov ebx, edx
mov ecx, esi
mov edx, eax
push 0x50436c
push ebx
call fcn.0045a247
pop ecx
pop ecx
mov ecx, dword [esp + 8]
mov ebx, edi
mov edi, dword [esp + 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x40], edx
mov dword [esp], ecx
jmp 0x438128
mov ecx, esi
mov edx, ebx
push 1
push 0x5138c8
call fcn.004379ee
pop ecx
pop edx
mov edi, dword [esp + 4]
test al, al
je 0x438ac0
cmp ebx, 1
lea esi, [esp + 0xe8]
je 0x438ab9
mov ecx, dword [esp + 0x14]
mov edx, ebx
push 0x2d
call fcn.00441427
pop ecx
mov ebx, eax
mov eax, edx
lea ecx, [esp + 0x98]
mov edx, ebx
mov dword [esp + 0x28], eax
push eax
call fcn.004e3f90
pop eax
bt dword [edi + 0x10], 0x12
jb 0x4380b0
mov eax, dword [edi + 0x14]
test al, 8
jne 0x438563
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
jmp 0x4382b9
xor esi, esi
mov ecx, esi
mov edx, 0x503608
call fcn.00437af5
mov edi, dword [esp + 4]
lea ecx, [esp + 0xe8]
mov edx, edi
push dword [ebp + 8]
push dword [esp + 0x20]
push dword [esp + 0x1c]
push esi
call fcn.0043bc0b
add esp, 0x10
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xec]
mov esi, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
cmp eax, 0x80000000
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x28], edx
jne 0x43a168
lea esi, [esp + 0xe8]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
call fcn.004b2152
mov edx, dword [ebp + 0xc]
jmp 0x437c2c
mov dword [esp + 0x20], 0
jmp 0x438128
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
mov dword [esp + 8], eax
add eax, ecx
mov dword [esp + 0xe8], ecx
mov dword [esp], ecx
mov dword [esp + 0xec], eax
mov ecx, esi
call fcn.00496c5e
cmp eax, 0x110000
je 0x4382b2
mov ecx, edi
mov edx, eax
call fcn.00436cef
test al, al
jne 0x4380d5
mov dword [esp + 0x36c], 3
jmp 0x43856e
mov ecx, dword [esp]
mov edx, ebx
call fcn.004251bd
mov edi, dword [esp + 4]
cmp edx, ebx
jb 0x43ba63
add eax, ebx
mov dword [esp + 0x40], 0
mov dword [esp + 0x20], eax
mov ecx, dword [edi + 0xe4]
imul eax, dword [edi + 0xe8], 0x110
mov dword [esp + 8], ebx
add eax, ecx
mov dword [esp + 0x18], eax
mov eax, ecx
cmp eax, dword [esp + 0x18]
je 0x438589
mov esi, eax
add eax, 0x110
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x438144
mov edx, dword [esi + 0xac]
mov dword [esp + 0x28], eax
push ebx
push dword [esp + 4]
call fcn.00437428
pop ecx
pop edx
test al, al
jne 0x4381d5
cmp dword [esi + 0x9c], 0x80000000
mov edi, dword [esp + 4]
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x28]
je 0x438144
mov eax, dword [esi + 0xa0]
imul edi, dword [esi + 0xa4], 0xc
test edi, edi
je 0x4381c4
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea ebx, [eax + 0xc]
push dword [esp + 8]
push dword [esp + 4]
call fcn.00437428
pop ecx
pop edx
add edi, 0xfffffff4
test al, al
mov eax, ebx
je 0x43819e
jmp 0x4381d5
mov edi, dword [esp + 4]
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x28]
jmp 0x438144
mov ebx, dword [esp + 4]
push 0x20
pop eax
mov edi, dword [esp + 0x20]
or dword [ebx + 0x14], eax
xor eax, eax
mov edx, ebx
lea ecx, [esp + 0xe8]
test edi, edi
setne al
push dword [ebp + 8]
push eax
push esi
push dword [esp + 0x4c]
push edi
call fcn.004414a5
add esp, 0x14
mov edi, dword [esp + 0xe8]
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0xec]
cmp edi, 0x80000000
mov dword [esp + 0x4c], eax
mov dword [esp + 0x3c], ecx
jne 0x43a1d2
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x438263
mov dword [esp + 0x20], edx
mov edi, dword [esi + 0xf4]
mov edx, dword [ebx + 0x24]
mov esi, dword [esi + 0xf8]
push esi
push edi
call fcn.004340fa
mov edx, dword [esp + 0x28]
add esp, 8
test al, al
jne 0x43826f
jmp 0x438279
mov edi, dword [esi + 0xf4]
mov esi, dword [esi + 0xf8]
mov eax, dword [esp + 4]
mov dword [eax + 0x20], edi
mov dword [eax + 0x24], esi
lea esi, [esp + 0xe8]
cmp edx, 6
mov dword [esp + 0x20], edx
ja 0x439ea7
push 0x43
pop eax
bt eax, edx
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 4]
mov dword [esp + 0x28], edx
mov dword [esp + 0x18], ecx
jb 0x438091
jmp 0x438ac0
mov ecx, dword [esp]
mov eax, dword [esp + 8]
mov dword [esp + 0x40], ebx
mov dword [esp + 8], eax
add eax, ecx
mov dword [esp + 0xb0], ecx
mov dword [esp], ecx
mov dword [esp + 0xb4], eax
push 5
pop eax
mov dword [esp + 0x20], eax
lea ecx, [esp + 0xb0]
call fcn.00496c5e
cmp eax, 0x110000
je 0x439065
mov esi, dword [esp + 4]
mov ecx, 0xfffffef0
lea edi, [esp + 0x270]
mov dword [esp + 0xc0], eax
inc dword [esi + 0x134]
mov ebx, dword [esi + 0xe4]
add ebx, ecx
imul ecx, dword [esi + 0xe8], 0x110
test ecx, ecx
je 0x438348
mov edx, dword [ebx + 0x1a8]
add ebx, 0x110
add ecx, 0xfffffef0
cmp edx, 0x110000
je 0x438321
cmp edx, eax
jne 0x438321
jmp 0x438470
mov edi, dword [esi + 0xd8]
imul ecx, dword [esi + 0xdc], 0x78
lea edx, [esp + 0xe8]
add edi, 0xffffff88
test ecx, ecx
je 0x438625
mov esi, dword [edi + 0x78]
add edi, 0x78
add ecx, 0xffffff88
cmp esi, 0x110000
je 0x43835f
cmp esi, eax
jne 0x43835f
mov edx, dword [esp + 4]
mov ecx, dword [edx + 0x10]
mov esi, dword [edx + 0x14]
push 0x20
pop ebx
or esi, ebx
bt ecx, 8
mov dword [edx + 0x14], esi
jae 0x4383ae
cmp dword [edx + 0xcc], eax
jne 0x4383ae
lea esi, [esp + 0xe8]
mov ecx, esi
push 0
call fcn.0043754c
jmp 0x4383d4
bt ecx, 9
lea esi, [esp + 0xe8]
jae 0x4383e8
mov ecx, dword [esp + 4]
cmp dword [ecx + 0xd0], eax
jne 0x4383e8
mov edx, dword [esp + 4]
mov ecx, esi
push 0
call fcn.0044171b
pop eax
mov ebx, dword [esp + 0xe8]
cmp ebx, 0x80000000
jne 0x439ebc
mov ecx, esi
mov esi, dword [esp + 4]
mov edx, esi
push dword [ebp + 8]
push dword [edi + 0x60]
push dword [edi + 0x5c]
call fcn.00441992
add esp, 0xc
mov ebx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf0]
cmp ebx, 0x80000000
mov dword [esp + 0x20], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x18], ecx
jne 0x439ac3
mov ecx, dword [esi + 0x20]
mov ebx, dword [edi + 0x5c]
mov edi, dword [edi + 0x60]
lea esi, [esp + 0xe8]
test ecx, ecx
je 0x438461
mov eax, dword [esp + 4]
mov edx, dword [eax + 0x24]
push edi
push ebx
call fcn.004340fa
pop ecx
pop edx
test al, al
je 0x4382db
mov eax, dword [esp + 4]
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], edi
jmp 0x4382db
mov dword [esp + 0x18], ebx
push 0x20
pop ecx
or dword [esi + 0x14], ecx
mov esi, dword [esp + 8]
mov edx, eax
mov ecx, edi
push esi
push dword [esp + 4]
call fcn.00429313
pop eax
pop ecx
and dword [esp + 0x28c], 0
mov ecx, edi
mov dword [esp + 0x290], esi
mov word [esp + 0x294], 1
mov dword [esp + 0x298], 2
call fcn.00423d5d
test eax, eax
je 0x43875c
lea ebx, [esp + 0xe8]
mov esi, eax
mov edi, edx
mov ecx, ebx
push 4
pop edx
call fcn.004219f1
cmp dword [esp + 0xe8], 0
mov ecx, dword [esp + 0xec]
jne 0x43ba6f
mov eax, dword [esp + 0xf0]
mov dword [eax], esi
mov dword [eax + 4], edi
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
mov dword [esp], eax
mov dword [esp + 0x80], 1
push 0xb
pop ecx
mov edi, ebx
lea esi, [esp + 0x270]
xor ebx, ebx
rep movsd dword es:[edi], dword [esi]
inc ebx
lea ecx, [esp + 0xe8]
call fcn.00423d5d
test eax, eax
je 0x438578
cmp ebx, dword [esp + 0x78]
mov esi, eax
mov edi, edx
je 0x43854c
mov eax, dword [esp]
mov dword [eax + ebx*8], esi
mov dword [eax + ebx*8 + 4], edi
inc ebx
mov dword [esp + 0x80], ebx
jmp 0x43851e
lea ecx, [esp + 0x78]
mov edx, ebx
push 1
call fcn.00421a4d
pop eax
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
jmp 0x438538
mov dword [esp + 0x36c], 4
mov ebx, 0x80000000
jmp 0x4389c0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
mov dword [esp + 8], eax
jmp 0x438769
mov ecx, dword [edi + 0xd8]
imul eax, dword [edi + 0xdc], 0x78
add eax, ecx
mov dword [esp + 0x18], eax
mov eax, ecx
cmp eax, dword [esp + 0x18]
je 0x438fb4
mov esi, eax
add eax, 0x78
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x43859e
mov edx, dword [esi + 0x14]
mov dword [esp + 0x28], eax
push ebx
push dword [esp + 4]
call fcn.00437428
pop ecx
pop edx
test al, al
jne 0x43870a
cmp dword [esi + 4], 0x80000000
mov edi, dword [esp + 4]
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x28]
je 0x43859e
mov eax, dword [esi + 8]
imul edi, dword [esi + 0xc], 0xc
test edi, edi
je 0x438614
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea ebx, [eax + 0xc]
push dword [esp + 8]
push dword [esp + 4]
call fcn.00437428
pop ecx
pop edx
add edi, 0xfffffff4
test al, al
mov eax, ebx
je 0x4385eb
jmp 0x43870a
mov edi, dword [esp + 4]
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x28]
jmp 0x43859e
xor ecx, ecx
lea eax, [esp + 0xc0]
mov dword [esp + 0xe8], 0x5138cc
inc ecx
mov dword [esp + 0x60], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x64], fcn.00446de0
mov dword [esp + 0xec], ecx
and dword [esp + 0xf8], 0
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
lea ecx, [esp + 0x78]
call fcn.00405066
mov esi, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
mov dword [esp], eax
sub esp, 4
mov edi, dword [esp + 8]
lea ecx, [esp + 0xec]
mov edx, edi
push 0
push dword [ebp + 8]
call fcn.0043bd8e
add esp, 0xc
mov eax, dword [edi + 0x10]
mov ebx, dword [esp + 0xec]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
push 2
pop ecx
cmovb eax, ecx
lea ecx, [esp + 0x368]
mov edx, esi
push eax
push dword [esp + 0xf4]
push ebx
push 0
xor eax, eax
inc eax
push eax
push dword [esp + 0x14]
call fcn.0043beb6
add esp, 0x18
mov ecx, dword [esp + 0xe8]
mov edx, ebx
call fcn.004b2152
mov ecx, dword [esp + 0x78]
mov edx, esi
lea esi, [esp + 0xe8]
call fcn.004b2152
mov ebx, dword [esp + 0x368]
jmp 0x4389c0
mov ecx, dword [esp + 4]
mov edi, dword [ecx + 0x10]
mov eax, dword [ecx + 0x14]
push 0x20
pop edx
or eax, edx
mov ebx, dword [esp + 8]
mov dword [ecx + 0x14], eax
mov ecx, dword [esp]
mov edx, ebx
push 4
push 0x5035ac
call fcn.00421605
pop ecx
pop edx
bt edi, 8
jae 0x4388af
test al, al
je 0x4388af
mov edx, dword [esp + 4]
lea ecx, [esp + 0xe8]
push 1
call fcn.0043754c
jmp 0x4388de
mov dword [esp + 8], 0
push 4
pop edi
xor ebx, ebx
mov ecx, edi
mov edx, ebx
push 0x503768
push 0
call fcn.00412160
pop ecx
pop edx
mov esi, dword [eax + 4]
mov dword [esp], edi
mov ecx, edi
mov edx, ebx
push 0x503778
push 1
call fcn.00412160
pop ecx
pop edx
cmp dword [eax + 4], 0
je 0x4387d3
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x28]
inc esi
mov ecx, edi
mov edx, ebx
call fcn.004251bd
cmp edx, esi
jb 0x43ba87
mov ecx, edi
mov edx, ebx
call fcn.004251bd
mov ebx, edx
mov ecx, esi
mov edx, eax
push 0x5043ac
push ebx
call fcn.0045a247
pop ecx
pop ecx
mov esi, edx
jmp 0x4387d5
xor eax, eax
mov edi, dword [esp + 4]
lea ecx, [esp + 0xe8]
mov edx, edi
push dword [ebp + 8]
push 0
push dword [esp + 0x20]
push esi
push eax
call fcn.004414a5
add esp, 0x14
lea ecx, [esp + 0xec]
mov ebx, dword [esp + 0xe8]
movsd xmm0, qword [ecx]
mov eax, dword [ecx + 8]
cmp ebx, 0x80000000
movsd qword [esp + 0x78], xmm0
mov dword [esp + 0x80], eax
jne 0x438871
mov ecx, dword [edi + 0x20]
movsd xmm0, qword [esp + 0x78]
mov eax, dword [esp + 0x80]
test ecx, ecx
movsd qword [esp + 0x50], xmm0
mov dword [esp + 0x58], eax
je 0x438965
mov eax, dword [esp + 0x18]
mov edx, dword [edi + 0x24]
mov esi, dword [eax + 0xf4]
mov ebx, dword [eax + 0xf8]
push ebx
push esi
call fcn.004340fa
pop ecx
pop edx
mov edi, dword [esp + 8]
mov edx, dword [esp]
test al, al
jne 0x43897c
jmp 0x438986
movsd xmm0, qword [ecx + 0xc]
lea edx, [esp + 0x36c]
mov eax, dword [ecx + 0x14]
mov ecx, dword [esp + 0x80]
mov edi, dword [esp + 8]
movsd qword [edx + 0xc], xmm0
movsd xmm0, qword [esp + 0x78]
mov dword [edx + 0x14], eax
mov dword [edx + 8], ecx
movsd qword [edx], xmm0
mov edx, dword [esp]
mov dword [esp + 0x368], ebx
jmp 0x4389ae
mov ecx, dword [esp]
mov edx, ebx
push 7
push 0x5035a5
call fcn.00421605
pop ecx
pop edx
bt edi, 9
jae 0x4388f2
test al, al
je 0x4388f2
mov edx, dword [esp + 4]
lea ecx, [esp + 0xe8]
push 1
call fcn.0044171b
pop eax
mov edi, dword [esp + 0xe8]
cmp edi, 0x80000000
jne 0x43a6a7
mov ebx, dword [esp + 4]
lea ecx, [esp + 0xe8]
mov edx, ebx
push dword [ebp + 8]
push dword [esi + 0x60]
push dword [esi + 0x5c]
call fcn.00441992
add esp, 0xc
mov edi, dword [esp + 0xe8]
cmp edi, 0x80000000
jne 0x43a6a7
mov ecx, dword [ebx + 0x20]
mov edi, dword [esi + 0x5c]
mov esi, dword [esi + 0x60]
test ecx, ecx
je 0x438940
mov edx, dword [ebx + 0x24]
push esi
push edi
call fcn.004340fa
pop ecx
pop edx
test al, al
je 0x438946
mov dword [ebx + 0x20], edi
mov dword [ebx + 0x24], esi
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x20], 0
mov edi, ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], ecx
jmp 0x43808a
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 8]
mov edx, dword [esp]
mov esi, dword [eax + 0xf4]
mov ebx, dword [eax + 0xf8]
mov eax, dword [esp + 4]
mov dword [eax + 0x20], esi
mov dword [eax + 0x24], ebx
mov eax, dword [esp + 0x58]
movsd xmm0, qword [esp + 0x50]
lea ecx, [esp + 0x36c]
mov ebx, 0x80000000
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
mov dword [esp + 0x368], 0x80000000
mov ecx, edi
call fcn.00402f81
mov edi, dword [esp + 4]
lea esi, [esp + 0xe8]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
call fcn.00450a23
mov eax, dword [esp + 0x370]
mov edx, dword [esp + 0x374]
mov ecx, dword [esp + 0x36c]
cmp ebx, 0x80000000
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], edx
jne 0x43a1a0
cmp ecx, 2
mov dword [esp + 0x20], ecx
jb 0x438091
cmp ecx, 6
je 0x438091
cmp ecx, 4
jne 0x438ac0
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x270]
push dword [esp + 0x1c]
call fcn.004e3f90
pop eax
mov ecx, esi
mov esi, dword [esp + 0x274]
mov edx, esi
push dword [esp + 0x278]
call fcn.00449ef0
pop eax
mov ecx, dword [esp + 0x270]
mov bl, byte [esp + 0xe8]
mov edx, esi
call fcn.00450a23
test bl, bl
je 0x438ab0
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x270]
push dword [esp + 0x1c]
call fcn.004e3f90
pop eax
mov esi, dword [esp + 0x274]
lea ecx, [esp + 0xe8]
mov edx, esi
push dword [esp + 0x278]
call fcn.00448480
pop eax
mov ecx, dword [esp + 0x270]
mov bl, byte [esp + 0xe8]
mov edx, esi
call fcn.00450a23
test bl, bl
jne 0x43ba25
push 4
pop eax
mov dword [esp + 0x20], eax
jmp 0x438ac0
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x14]
mov edx, eax
mov esi, ecx
and edx, 0x40
and esi, 0x8000
or esi, edx
jne 0x438c9c
mov esi, ecx
mov edx, eax
mov ebx, 0x80000000
and esi, 0x80000000
and edx, 0x20
xor esi, ebx
push 0x20
pop ebx
xor edx, ebx
or edx, esi
je 0x438c9c
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x368]
push dword [esp + 0x1c]
call fcn.004e3f90
pop eax
mov eax, dword [esp + 0x36c]
imul ecx, dword [edi + 0xf4], 0x138
mov esi, dword [esp + 0x370]
mov dword [esp + 0xe8], 1
mov dword [esp + 8], 0
mov dword [esp], eax
mov eax, dword [edi + 0xf0]
add ecx, eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], ecx
and dword [esp + 0xf4], 0
and dword [esp + 0xfc], 0
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], ecx
test eax, eax
je 0x438ba0
cmp eax, dword [esp + 0x108]
je 0x438b98
lea ecx, [eax + 0x138]
mov dword [esp + 0x104], ecx
mov edi, dword [eax + 0x4c]
mov ebx, dword [eax + 0x50]
jmp 0x438c26
and dword [esp + 0x104], 0
cmp dword [esp + 0xe8], 0
je 0x438c77
lea ecx, [esp + 0xf4]
call fcn.00441407
test eax, eax
jne 0x438c22
mov eax, dword [esp + 0xec]
test eax, eax
je 0x438c12
mov ecx, dword [esp + 0xf0]
cmp eax, ecx
je 0x438c0b
cmp dword [eax + 0x60], 0x80000000
lea edx, [eax + 0x138]
mov eax, edx
je 0x438bd0
mov dword [esp + 0xec], edx
mov eax, dword [edx - 0xd4]
imul ecx, dword [edx - 0xd0], 0xc
add ecx, eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], ecx
jmp 0x438bae
mov dword [esp + 0xec], ecx
lea ecx, [esp + 0xfc]
call fcn.00441407
test eax, eax
je 0x438c77
mov edi, eax
mov ebx, edx
mov edx, dword [esp]
lea ecx, [esp + 0x270]
push ebx
push edi
push esi
call fcn.004e683d
add esp, 0xc
movsd xmm0, qword [esp + 0x270]
ucomisd xmm0, qword [0x500090]
jbe 0x438c6b
cmp dword [esp + 8], 0
je 0x438c5d
ucomisd xmm0, qword [esp + 0x40]
jbe 0x438c6b
mov dword [esp + 0x34], ebx
mov dword [esp + 8], edi
movsd qword [esp + 0x40], xmm0
mov eax, dword [esp + 0x104]
jmp 0x438b73
mov eax, dword [esp + 8]
test eax, eax
jne 0x43a739
mov ecx, dword [esp + 0x368]
mov edx, dword [esp]
call fcn.00450a23
mov edi, dword [esp + 4]
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x14]
bt ecx, 0x1c
jb 0x438cb4
mov edx, dword [edi + 0xc]
test al, 2
je 0x438cfa
mov dword [esp + 0x40], edx
lea ecx, [edx - 1]
xor edx, edx
jmp 0x438cd3
mov ecx, dword [edi + 0xc]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x40], ecx
dec ecx
cmp esi, ecx
sete dl
test al, 2
jne 0x438cd3
mov edx, dword [esp + 0x40]
cmp esi, ecx
je 0x438d08
jmp 0x438cfa
xor ecx, dword [esp + 0x38]
mov esi, eax
push 4
pop ebx
and esi, ebx
or esi, ecx
sete cl
test dl, dl
mov edx, dword [esp + 0x40]
jne 0x438d08
test cl, cl
jne 0x438d08
push 4
pop ecx
test eax, ecx
jne 0x439100
not eax
test al, 0x84
cmovne edx, dword [esp + 0x38]
jmp 0x439100
mov edx, dword [ebp + 0xc]
mov esi, dword [edx]
cmp esi, 0x80000001
jne 0x438d7e
mov ecx, dword [edx + 0x10]
mov ebx, edx
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 0xc]
je 0x438d46
lea edx, [eax + 0x10]
mov dword [ecx + 4], edx
mov ecx, dword [eax + 0xc]
mov esi, dword [eax]
mov dword [esp + 0xf0], ecx
mov ecx, dword [ebx]
movsd xmm0, qword [eax + 4]
movsd qword [esp + 0xe8], xmm0
jmp 0x438d50
mov esi, 0x80000000
mov ecx, 0x80000001
mov edx, dword [ebx + 4]
call fcn.0043c181
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0xf0]
mov ecx, dword [esp + 0x238]
movsd xmm0, qword [esp + 0xe8]
mov dword [eax], esi
mov dword [ecx + 8], edx
mov edx, dword [ebp + 0xc]
movsd qword [ecx], xmm0
cmp esi, 0x80000000
jne 0x438d92
mov eax, dword [esp + 0x38]
inc eax
mov edx, eax
jmp 0x439100
lea ecx, [esp + 0xe8]
call fcn.0042bed5
cmp dword [esp + 0x20], 6
jne 0x439019
push 6
pop edx
mov eax, dword [esp + 0xe8]
mov esi, dword [esp + 0xf0]
mov ebx, edx
lea ecx, [esp + 0xe8]
mov edx, edi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x28], eax
push esi
push eax
call fcn.0043718b
pop eax
pop ecx
mov al, byte [esp + 0xe8]
mov dword [esp + 0xe8], ebx
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x28]
mov ecx, edi
mov byte [esp], al
mov eax, dword [esp + 0xd0]
mov edx, ebx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xf0], eax
lea eax, [esp + 0xe8]
push eax
push esi
call fcn.0043779f
pop ecx
pop edx
test al, al
je 0x438e33
mov eax, dword [esp + 0x38]
jmp 0x4390da
cmp byte [esp], 0
mov eax, dword [esp + 0x38]
jne 0x4390da
lea ecx, [esp + 0x270]
mov edx, ebx
push esi
call fcn.004e3f90
pop eax
mov ecx, edi
mov ebx, dword [esp + 0x274]
mov edi, dword [esp + 0x278]
mov dword [esp + 0xe8], 1
mov dword [esp], 0
mov eax, dword [ecx + 0xf0]
imul ecx, dword [ecx + 0xf4], 0x138
add ecx, eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], ecx
and dword [esp + 0xf4], 0
and dword [esp + 0xfc], 0
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], ecx
test eax, eax
je 0x438ede
cmp eax, dword [esp + 0x108]
je 0x438ed6
lea ecx, [eax + 0x138]
mov dword [esp + 0x104], ecx
mov esi, dword [eax + 0x4c]
mov eax, dword [eax + 0x50]
jmp 0x438f6a
and dword [esp + 0x104], 0
cmp dword [esp + 0xe8], 0
je 0x4390ba
lea ecx, [esp + 0xf4]
call fcn.00441407
mov esi, eax
test eax, eax
jne 0x438f68
mov eax, dword [esp + 0xec]
test eax, eax
je 0x438f52
mov ecx, dword [esp + 0xf0]
cmp eax, ecx
je 0x438f4b
cmp dword [eax + 0x60], 0x80000000
lea edx, [eax + 0x138]
mov eax, edx
je 0x438f10
mov dword [esp + 0xec], edx
mov eax, dword [edx - 0xd4]
imul ecx, dword [edx - 0xd0], 0xc
add ecx, eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], ecx
jmp 0x438eec
mov dword [esp + 0xec], ecx
lea ecx, [esp + 0xfc]
call fcn.00441407
mov esi, eax
test eax, eax
je 0x4390ba
mov eax, edx
lea ecx, [esp + 0x368]
mov edx, ebx
push eax
push esi
push edi
call fcn.004e683d
add esp, 0xc
movsd xmm0, qword [esp + 0x368]
ucomisd xmm0, qword [0x500090]
jbe 0x438fa8
cmp dword [esp], 0
je 0x438f9f
ucomisd xmm0, qword [esp + 8]
jbe 0x438fa8
mov dword [esp], esi
movsd qword [esp + 8], xmm0
mov eax, dword [esp + 0x104]
jmp 0x438eb1
bt dword [edi + 0x10], 0x12
push 3
pop eax
jb 0x43a009
mov eax, dword [edi + 0x14]
test al, 8
push 4
pop eax
jne 0x43a009
mov edi, dword [ebp + 0xc]
lea esi, [esp + 0xe8]
mov ecx, esi
mov edx, edi
call fcn.00424ef5
cmp dword [esp + 0xe8], 0x80000000
jne 0x43954c
and dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 4
and dword [esp + 0xc8], 0
xor edx, edx
push 4
pop edi
jmp 0x439698
mov ecx, dword [esp + 0x38]
cmp dword [edi + 8], ecx
jbe 0x438da9
mov eax, dword [edi + 4]
imul ecx, ecx, 0xf8
mov edx, dword [eax + ecx]
xor edx, 2
or edx, dword [eax + ecx + 4]
push 6
pop edx
je 0x438dac
add eax, ecx
mov ecx, dword [eax + 0xd4]
mov eax, dword [eax + 0xd8]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xac], eax
push 2
jmp 0x438dab
mov edi, esi
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
mov edx, dword [esp]
mov dword [esp + 0x36c], esi
mov dword [esp + 0x374], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x370], eax
call fcn.00450a23
mov eax, dword [esp + 0x370]
mov edx, dword [esp + 0x374]
mov ecx, esi
mov esi, edi
mov edi, dword [esp + 4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], edx
jmp 0x4389fc
mov ecx, dword [esp + 0x270]
mov edx, ebx
call fcn.00450a23
cmp dword [esp], 0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x28]
je 0x4390db
inc eax
mov ecx, dword [esp + 0x18]
mov edx, ebx
mov esi, eax
call fcn.004b2152
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xd0]
mov edx, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], ecx
mov eax, dword [edi + 8]
mov esi, dword [ebp + 8]
mov dword [esp + 0x40], edx
cmp eax, edx
jbe 0x439138
mov esi, dword [edi + 4]
imul ebx, edx, 0xf8
mov dword [esp + 0x34], eax
mov ecx, edi
mov edi, dword [edi + 0x10]
mov eax, dword [esi + ebx]
xor eax, 2
or eax, dword [esi + ebx + 4]
mov eax, dword [ecx + 0x14]
jne 0x43926f
mov esi, dword [ebp + 8]
jmp 0x439140
mov eax, edi
mov edi, dword [edi + 0x10]
mov eax, dword [eax + 0x14]
test di, di
jns 0x43a1f6
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
call fcn.00421362
test eax, eax
je 0x439172
mov esi, edx
lea ecx, [esp + 0x78]
mov edx, eax
push esi
call fcn.004210e4
pop eax
lea esi, [esp + 0xe8]
jmp 0x43919e
bt edi, 0x10
jae 0x43b85f
mov edx, dword [esp + 0x14]
lea esi, [esp + 0xe8]
mov ecx, esi
push dword [esp + 0x1c]
call fcn.004e3f90
pop eax
lea ecx, [esp + 0x78]
mov edx, esi
call fcn.0042b5d9
lea ecx, [esp + 0x270]
call fcn.0043c419
mov edx, dword [ebp + 0xc]
mov ecx, esi
call fcn.00425078
mov edi, dword [esp + 0xe8]
mov esi, dword [esp + 0xec]
cmp edi, 0x80000000
je 0x439214
mov ebx, dword [esp + 0xf0]
mov ecx, esi
mov edx, ebx
call fcn.00421362
test eax, eax
jne 0x4391ec
mov eax, dword [esp + 4]
test byte [eax + 0x12], 1
je 0x43a046
xor edx, edx
lea ecx, [esp + 0x270]
inc edx
push ebx
push esi
push 0
call fcn.0043c468
add esp, 0xc
mov ecx, edi
mov edx, esi
call fcn.004b2152
lea esi, [esp + 0xe8]
jmp 0x4391aa
mov ecx, 0x80000000
mov edx, esi
call fcn.00450a23
mov eax, dword [esp + 0x80]
movsd xmm0, qword [esp + 0x78]
lea ecx, [esp + 0xec]
mov dword [ecx + 0x34], eax
movsd qword [ecx + 0x2c], xmm0
push 0xc
pop ecx
lea eax, [esp + 0xe8]
lea esi, [esp + 0x270]
mov edi, eax
mov edx, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 8]
mov esi, eax
call fcn.0043c432
mov edi, dword [esp + 4]
mov al, 1
mov dword [esp + 0x248], eax
jmp 0x43952f
add ebx, esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x74], eax
push 4
pop ecx
and eax, ecx
test byte [ebx + 0xed], 0x40
je 0x43928f
test eax, eax
je 0x43b8b3
mov ecx, edi
mov esi, dword [ebp + 8]
not ecx
and ecx, 0x2000
or ecx, eax
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x240], eax
jne 0x4392cd
cmp edx, eax
jne 0x4392cd
push 4
pop eax
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 4]
or ecx, eax
mov dword [edx + 0x10], edi
mov edi, edx
mov dword [esp + 0x74], ecx
mov dword [edx + 0x14], ecx
jmp 0x4392d1
mov edi, dword [esp + 4]
mov ecx, dword [edi + 0x20]
mov dword [esp + 0x70], ebx
test ecx, ecx
je 0x439302
mov edx, dword [edi + 0x24]
mov dword [esp], ecx
mov dword [esp + 8], edx
push dword [ebx + 0xd8]
push dword [ebx + 0xd4]
call fcn.004340fa
pop ecx
pop edx
test al, al
jne 0x439310
jmp 0x439480
xor eax, eax
mov dword [esp + 8], 0
inc eax
mov dword [esp], eax
mov eax, edi
mov edi, dword [edi + 0xd8]
imul esi, dword [eax + 0xdc], 0x78
add edi, 0xffffff88
test esi, esi
je 0x43934d
mov ecx, dword [edi + 0xd4]
mov edx, dword [edi + 0xd8]
push dword [esp + 8]
push dword [esp + 4]
call fcn.00421605
pop ecx
pop edx
add edi, 0x78
add esi, 0xffffff88
test al, al
je 0x439322
jmp 0x43934f
xor edi, edi
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x38]
mov ecx, 0xfffffef0
mov esi, dword [eax + 0xe4]
imul ebx, dword [eax + 0xe8], 0x110
add esi, ecx
test ebx, ebx
je 0x4393a4
mov edx, dword [esi + 0x208]
mov ecx, dword [esi + 0x204]
push dword [esp + 8]
push dword [esp + 4]
call fcn.00421605
mov edx, dword [esp + 0x40]
add esp, 8
add esi, 0x110
add ebx, 0xfffffef0
test al, al
je 0x43936e
jmp 0x4393a6
xor esi, esi
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xe8], edx
imul eax, ecx, 0xf8
add eax, edx
mov dword [esp + 0xec], eax
and dword [esp + 0xf0], 0
mov dword [esp + 0xf4], ecx
mov ecx, dword [esp + 0x240]
mov dword [esp + 0xf8], ecx
and dword [esp + 0xfc], 0
lea ecx, [esp + 0xe8]
call fcn.004225c9
test edx, edx
je 0x439418
mov ebx, edx
mov ecx, dword [edx + 0xd4]
mov edx, dword [edx + 0xd8]
push dword [esp + 8]
push dword [esp + 4]
call fcn.00421605
pop ecx
pop edx
test al, al
je 0x4393e5
jmp 0x43941a
xor ebx, ebx
mov ecx, 0x100
xor eax, eax
test dword [esp + 0x74], ecx
mov ecx, 0x502fcc
setne al
test esi, esi
cmovne ebx, esi
mov esi, 0x502f50
cmove esi, ecx
test edi, edi
mov ecx, 0x502ed4
cmovne esi, ecx
mov ecx, dword [ebp + 8]
cmovne ebx, edi
mov edx, ebx
push eax
push dword [esp + 0xd8]
push dword [esp + 0x244]
push esi
mov esi, ecx
call 0x43ba9f
add esp, 0x10
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 4]
mov eax, dword [ebx + 0xd4]
mov ecx, dword [ebx + 0xd8]
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], ecx
lea ecx, [esp + 0xe8]
mov edx, edi
push esi
push dword [esp + 0x20]
push dword [esp + 0x1c]
push ebx
call fcn.0043c194
add esp, 0x10
mov eax, dword [esp + 0xe8]
cmp eax, 0x80000000
jne 0x43b964
mov eax, ebx
mov ecx, esi
mov esi, dword [ebx + 0xd4]
mov ebx, edi
mov edi, dword [eax + 0xd8]
mov edx, esi
push edi
call fcn.0043c317
pop eax
lea ecx, [esp + 0xe8]
mov edx, ebx
push edi
push esi
call fcn.004360a0
pop eax
pop ecx
mov esi, dword [esp + 0xe8]
cmp esi, 0x80000000
je 0x43950b
mov edi, dword [esp + 0xec]
mov ecx, dword [ebp + 8]
mov edx, edi
push dword [esp + 0xf0]
call fcn.0043c348
pop eax
mov ecx, esi
mov edx, edi
call fcn.00402f81
mov edi, dword [esp + 4]
push 0x20
pop eax
or dword [edi + 0x14], eax
mov eax, dword [esp + 0x70]
lea esi, [esp + 0xe8]
mov al, byte [eax + 0xec]
and al, 2
cmp al, 1
adc dword [esp + 0x40], 0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
call fcn.004b2152
mov eax, dword [esp + 0x40]
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x38], eax
jmp 0x437c2c
lea esi, [esp + 0x270]
mov edx, edi
mov ecx, esi
call fcn.00424f33
mov edx, dword [esp + 0x270]
mov eax, 0xffffffff
inc edx
cmove edx, eax
cmp edx, 5
push 4
pop eax
cmovb edx, eax
mov ecx, esi
call fcn.00424f6b
cmp dword [esp + 0x270], 0
mov ecx, dword [esp + 0x274]
jne 0x43ba93
mov ebx, dword [esp + 0x278]
movsd xmm0, qword [esp + 0xe8]
movsd xmm1, qword [esp + 0xf0]
movsd qword [ebx + 8], xmm1
movsd qword [ebx], xmm0
mov dword [esp + 0x368], ecx
mov dword [esp + 0x36c], ebx
mov dword [esp + 0x370], 1
push 0x10
pop esi
xor edi, edi
inc edi
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x46c]
call fcn.00424ef5
cmp dword [esp + 0x46c], 0x80000000
je 0x439659
cmp edi, dword [esp + 0x368]
je 0x439621
movsd xmm0, qword [esp + 0x46c]
movsd xmm1, qword [esp + 0x474]
inc edi
movsd qword [ebx + esi + 8], xmm1
movsd qword [ebx + esi], xmm0
mov dword [esp + 0x370], edi
add esi, 0x10
jmp 0x4395d2
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x270]
call fcn.00424f33
mov eax, dword [esp + 0x270]
mov ecx, 0xffffffff
mov edx, edi
inc eax
cmove eax, ecx
lea ecx, [esp + 0x368]
push eax
call fcn.00424fc5
pop eax
mov ebx, dword [esp + 0x36c]
jmp 0x4395f7
mov edx, dword [esp + 0x470]
mov ecx, 0x80000000
call fcn.00450a23
mov edx, dword [esp + 0x370]
movsd xmm0, qword [esp + 0x368]
lea esi, [esp + 0xe8]
mov dword [esp + 0xc8], edx
movsd qword [esp + 0xc0], xmm0
mov edi, dword [esp + 0xc4]
mov ecx, esi
mov ebx, edx
call fcn.004219f1
cmp dword [esp + 0xe8], 0
mov ecx, dword [esp + 0xec]
jne 0x43ba6f
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
and dword [esp + 0xf0], 0
mov edx, eax
cmp ebx, ecx
mov eax, ebx
ja 0x43a022
xor esi, esi
test eax, eax
mov ebx, edx
je 0x439727
add edi, 8
mov ecx, dword [edi - 4]
mov edx, dword [edi]
mov dword [esp + 0x28], eax
call fcn.00421362
mov ecx, eax
push 0x503758
push 0x23
push str.unexpected_invalid_UTF_8_code_point
call fcn.0042138c
add esp, 0xc
mov dword [ebx + esi*8], eax
mov eax, dword [esp + 0x28]
mov dword [ebx + esi*8 + 4], edx
inc esi
add edi, 0x10
dec eax
jne 0x4396ea
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp]
mov edx, dword [esp + 8]
call fcn.00421362
mov ecx, eax
push 0x503748
push 0x23
push str.unexpected_invalid_UTF_8_code_point
call fcn.0042138c
add esp, 0xc
mov edi, dword [esp + 4]
mov ecx, ebx
mov dword [esp + 0x464], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x468], edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x268], ecx
mov dword [esp + 0x26c], esi
mov dword [esp + 0x74], ecx
mov eax, dword [edi + 0xe4]
imul esi, dword [edi + 0xe8], 0x110
mov ebx, dword [edi + 0xd8]
imul ecx, dword [edi + 0xdc], 0x78
mov dword [esp + 0x28], eax
add esi, eax
mov eax, dword [esp + 0x18]
add ecx, ebx
mov dword [esp + 0x260], eax
mov dword [esp + 0x264], edx
mov edx, ecx
mov ecx, dword [edi + 0xf0]
mov eax, dword [edi + 0xf4]
mov dword [esp + 0x40], edx
mov dword [esp + 0x230], ecx
xor ecx, ecx
mov dword [esp + 0x25c], eax
mov dword [esp], ecx
test ebx, ebx
je 0x4397f0
cmp ebx, edx
je 0x4397f0
mov edi, ebx
add ebx, 0x78
mov eax, dword [edi + 0x10]
test eax, eax
je 0x4397db
add edi, 0x10
jmp 0x439822
mov edx, dword [esp + 0x28]
test edx, edx
je 0x439890
cmp edx, esi
je 0x439890
mov edi, edx
add edx, 0x110
mov eax, dword [edi + 0xa8]
test eax, eax
je 0x4397fc
add edi, 0xa8
xor ebx, ebx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x18]
test ecx, ecx
lea ecx, [esp + 0xe8]
sete byte [esp + 0x34]
push dword [edi + 4]
push eax
push dword [esp + 0x28]
call fcn.004e683d
mov ecx, dword [esp + 0xc]
add esp, 0xc
movsd xmm0, qword [esp + 0xe8]
mov edx, dword [esp + 0x40]
ucomisd xmm0, qword [esp + 0x240]
seta al
ucomisd xmm0, qword [0x500090]
jbe 0x4397d7
or byte [esp + 0x34], al
je 0x4397d7
mov eax, dword [edi + 4]
mov ecx, dword [edi]
movsd qword [esp + 0x240], xmm0
mov dword [esp + 8], eax
jmp 0x4397d4
test ecx, ecx
je 0x439a4e
mov ebx, dword [esp + 8]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ebx
push 2
pop eax
mov edi, ecx
mov dword [esp + 0xe8], 0x504408
mov dword [esp + 0xec], 3
mov ecx, eax
mov dword [esp + 0x50], eax
mov edx, 0x421617
lea eax, [esp + 0x50]
and dword [esp + 0xf8], 0
mov dword [esp + 0x368], 0x5043ec
lea esi, [esp + 0xe8]
mov dword [esp + 0x36c], edx
mov dword [esp + 0x370], eax
lea eax, [esp + 0x368]
mov dword [esp + 0x374], edx
mov edx, esi
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
lea ecx, [esp + 0x78]
call fcn.00405066
mov dword [esp + 0x84], edi
mov edi, dword [esp + 4]
mov dword [esp + 0x88], ebx
mov ecx, dword [edi + 0xe4]
imul eax, dword [edi + 0xe8], 0x110
add eax, ecx
mov dword [esp + 0x18], eax
mov eax, ecx
cmp eax, dword [esp + 0x18]
je 0x439ef6
mov ebx, eax
add eax, 0x110
mov ecx, dword [ebx + 0xa8]
test ecx, ecx
je 0x439947
mov edx, dword [ebx + 0xac]
mov dword [esp + 0x28], eax
push dword [esp + 8]
push dword [esp + 4]
call fcn.00421605
pop ecx
pop edx
test al, al
jne 0x4399dd
cmp dword [ebx + 0x9c], 0x80000000
mov eax, dword [esp + 0x28]
lea esi, [esp + 0xe8]
je 0x439947
mov eax, dword [ebx + 0xa0]
imul esi, dword [ebx + 0xa4], 0xc
test esi, esi
je 0x4399cd
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea edi, [eax + 0xc]
push dword [esp + 8]
push dword [esp + 4]
call fcn.00421605
pop ecx
pop edx
add esi, 0xfffffff4
test al, al
mov eax, edi
mov edi, dword [esp + 4]
je 0x4399a3
jmp 0x4399dd
mov eax, dword [esp + 0x28]
lea esi, [esp + 0xe8]
jmp 0x439947
mov esi, dword [ebx + 0xf4]
mov ebx, dword [ebx + 0xf8]
lea ecx, [esp + 0xe8]
mov edx, edi
push ebx
push esi
call fcn.004360a0
pop eax
pop ecx
mov edi, dword [esp + 0xe8]
cmp edi, 0x80000000
je 0x439a2e
mov edx, dword [esp + 0xec]
mov ecx, dword [ebp + 8]
mov dword [esp], edx
push dword [esp + 0xf0]
call fcn.0043c348
pop eax
mov edx, dword [esp]
mov ecx, edi
call fcn.00402f81
mov ecx, dword [ebp + 8]
mov edx, esi
push ebx
call fcn.004410c6
pop eax
mov edi, dword [esp + 4]
lea esi, [esp + 0xe8]
mov ecx, dword [esp + 0x78]
jmp 0x439d2d
imul ebx, dword [esp + 0x25c], 0x138
mov edi, dword [esp + 0x230]
lea eax, [edi + ebx]
lea esi, [ebx - 0x138]
lea ecx, [edi + 0x138]
mov dword [esp + 8], eax
mov dword [esp], ecx
test ebx, ebx
je 0x439d0b
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x260]
push edi
add edi, 0x138
lea eax, [esp + 0x26c]
push eax
call fcn.0042141e
pop eax
pop ecx
mov ecx, dword [esp + 0xec]
cmp ecx, 0x80000000
jne 0x439b17
add dword [esp], 0x138
mov eax, 0xfffffec8
add ebx, eax
add esi, eax
jmp 0x439a76
lea ecx, [esp + 0xec]
lea edx, [esp + 0x36c]
mov edi, esi
lea esi, [esp + 0xe8]
mov eax, dword [ecx + 0x14]
movsd xmm0, qword [ecx + 0xc]
mov ecx, dword [esp + 0x20]
mov dword [edx + 0x14], eax
movsd qword [edx + 0xc], xmm0
mov dword [esp + 0x368], ebx
mov dword [esp + 0x36c], ecx
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x374], edx
mov dword [esp + 0x370], ecx
jmp 0x4389c0
lea eax, [esp + 0xf0]
mov ebx, dword [esp + 0xe8]
cmp edi, dword [esp + 8]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x60], xmm0
movsd qword [esp + 0x68], xmm1
je 0x439f9b
movsd xmm0, qword [esp + 0x60]
movsd xmm1, qword [esp + 0x68]
mov dword [esp + 8], ecx
mov eax, esi
xor edx, edx
mov ecx, 0x138
movsd qword [esp + 0xa0], xmm1
movsd qword [esp + 0x98], xmm0
div ecx
mov esi, dword [esp]
mov dword [esp + 0x28], ebx
mov edi, eax
lea ecx, [esp + 0x368]
lea edx, [esp + 0x260]
push esi
lea eax, [esp + 0x26c]
push eax
call fcn.0042141e
pop eax
pop ecx
cmp dword [esp + 0x36c], 0x80000000
jne 0x439bc8
movsd xmm0, qword [esp + 0x98]
movsd xmm1, qword [esp + 0xa0]
movsd qword [esp + 0x58], xmm1
movsd qword [esp + 0x50], xmm0
jmp 0x439cac
lea ecx, [esp + 0x36c]
mov dword [esp], ebx
lea edx, [esp + 0x10c]
mov ebx, dword [esp + 0x368]
mov eax, dword [ecx + 0x10]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
mov ecx, dword [esp + 0x28]
mov dword [edx + 0x10], eax
mov eax, dword [esp]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
mov dword [esp + 0xe8], ecx
movsd xmm0, qword [esp + 0x98]
movsd xmm1, qword [esp + 0xa0]
cmp ecx, ebx
lea ecx, [esp + 0x110]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 8]
mov dword [esp + 0xf0], eax
lea eax, [esp + 0xf4]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], ebx
mov eax, dword [esp + 0xe8]
cmova eax, ebx
cmovbe ebx, dword [esp + 0xec]
mov dword [esp + 0x28], eax
lea eax, [esp + 0xf0]
cmova eax, edx
mov eax, dword [eax]
mov dword [esp + 8], eax
lea eax, [esp + 0xf4]
cmova eax, ecx
lea ecx, [esp + 0xf0]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov eax, edx
cmova eax, ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
movsd qword [esp + 0x50], xmm0
movsd qword [esp + 0x58], xmm1
call fcn.004b2152
movsd xmm0, qword [esp + 0x50]
movsd xmm1, qword [esp + 0x58]
add esi, 0x138
dec edi
movsd qword [esp + 0x98], xmm0
movsd qword [esp + 0xa0], xmm1
jne 0x439b7a
mov ecx, dword [esp + 8]
movsd xmm0, qword [esp + 0x98]
movsd xmm1, qword [esp + 0xa0]
cmp ecx, 0x80000000
movsd qword [esp + 0xb8], xmm1
movsd qword [esp + 0xb0], xmm0
jne 0x439fb9
and dword [esp + 0x78], 0
mov dword [esp + 0x7c], 1
and dword [esp + 0x80], 0
mov edi, dword [esp + 4]
xor ecx, ecx
lea esi, [esp + 0xe8]
mov dword [esp + 8], ecx
xor ecx, ecx
lea eax, [esp + 0x464]
mov dword [esp + 0xe8], 0x50327c
mov edx, esi
inc ecx
mov dword [esp + 0x50], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x54], fcn.0040ff99
mov dword [esp + 0xec], ecx
and dword [esp + 0xf8], 0
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
lea ecx, [esp + 0x368]
call fcn.00405066
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x370]
mov ebx, dword [esp + 0x36c]
mov dword [esp + 0x28], ecx
mov ecx, esi
mov esi, dword [esp + 0x80]
mov dword [esp], eax
sub esp, 4
mov edx, edi
push 0
push dword [ebp + 8]
call fcn.0043bd8e
add esp, 0xc
mov eax, edi
mov edi, dword [esp + 0xec]
mov eax, dword [eax + 0x10]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
push 2
pop ecx
cmovb eax, ecx
lea ecx, [esp + 0x270]
mov edx, ebx
push eax
push dword [esp + 0xf4]
push edi
push esi
mov esi, dword [esp + 0x38]
push esi
push dword [esp + 0x14]
call fcn.0043beb6
add esp, 0x18
mov ecx, dword [esp + 0x368]
mov edx, ebx
call fcn.004b2152
mov ecx, dword [esp + 8]
mov edx, esi
call fcn.004b2152
mov ecx, dword [esp + 0xe8]
mov edx, edi
call fcn.004b2152
mov eax, dword [esp + 0x270]
mov edi, 0x80000000
cmp eax, 0x80000000
push 5
pop ebx
je 0x439e74
lea edx, [esp + 0x280]
mov ecx, dword [esp + 0x278]
mov esi, dword [esp + 0x27c]
mov ebx, dword [esp + 0x274]
mov edi, dword [edx + 8]
movsd xmm0, qword [edx]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x3c], esi
mov dword [esp + 0xe0], edi
mov edi, eax
movsd qword [esp + 0xd8], xmm0
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
call fcn.00402f81
lea ecx, [esp + 0xc0]
call fcn.0042ce1f
cmp edi, 0x80000000
lea esi, [esp + 0xe8]
mov edx, ebx
je 0x438280
jmp 0x43a6e3
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 4]
mov dword [esp + 0x28], eax
jmp 0x43a019
lea eax, [esp + 0xec]
mov edi, dword [esp + 4]
lea ecx, [esp + 0x36c]
movsd xmm0, qword [eax + 0x10]
movsd xmm2, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [ecx + 0x10], xmm0
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm2
mov dword [esp + 0x368], ebx
jmp 0x4389c0
mov ecx, dword [edi + 0xd8]
imul eax, dword [edi + 0xdc], 0x78
add eax, ecx
mov dword [esp + 0x18], eax
mov eax, ecx
cmp eax, dword [esp + 0x18]
je 0x439a45
mov ebx, eax
add eax, 0x78
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x439f0b
mov edx, dword [ebx + 0x14]
mov dword [esp + 0x28], eax
push dword [esp + 8]
push dword [esp + 4]
call fcn.00421605
pop ecx
pop edx
test al, al
jne 0x439f90
cmp dword [ebx + 4], 0x80000000
mov eax, dword [esp + 0x28]
lea esi, [esp + 0xe8]
je 0x439f0b
mov eax, dword [ebx + 8]
imul esi, dword [ebx + 0xc], 0xc
test esi, esi
je 0x439f80
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea edi, [eax + 0xc]
push dword [esp + 8]
push dword [esp + 4]
call fcn.00421605
pop ecx
pop edx
add esi, 0xfffffff4
test al, al
mov eax, edi
mov edi, dword [esp + 4]
je 0x439f56
jmp 0x439f90
mov eax, dword [esp + 0x28]
lea esi, [esp + 0xe8]
jmp 0x439f0b
mov esi, dword [ebx + 0x5c]
mov ebx, dword [ebx + 0x60]
jmp 0x4399e9
movsd xmm0, qword [esp + 0x60]
movsd xmm1, qword [esp + 0x68]
movsd qword [esp + 0xb8], xmm1
movsd qword [esp + 0xb0], xmm0
movsd xmm0, qword [esp + 0xb0]
movsd xmm1, qword [esp + 0xb8]
lea eax, [esp + 0x7c]
mov edi, dword [esp + 4]
lea esi, [esp + 0xe8]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov dword [esp + 0x78], ecx
mov eax, dword [esp + 0x84]
test eax, eax
je 0x439d2d
mov ecx, dword [esp + 0x88]
mov dword [esp], eax
mov dword [esp + 8], ecx
jmp 0x43992f
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x18], ecx
jmp 0x438ac0
mov ecx, esi
xor edx, edx
push eax
mov esi, eax
call fcn.00421a4d
mov eax, esi
add esp, 4
mov ebx, dword [esp + 0xec]
mov esi, dword [esp + 0xf0]
jmp 0x4396e7
sub esp, 4
mov ebx, dword [esp + 8]
lea ecx, [esp + 0x36c]
mov edx, ebx
push 0
push dword [ebp + 8]
call fcn.0043bd8e
add esp, 0xc
lea eax, [esp + 0x368]
mov eax, dword [eax + 4]
mov dword [esp], eax
mov eax, dword [ebx + 0x10]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
push 2
pop ebx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp]
cmovae ebx, eax
push ebx
lea ebx, [esp + 0x36c]
push dword [ebx + 8]
call fcn.0043c378
pop eax
pop ecx
mov ecx, dword [ebx]
mov edx, dword [esp]
call fcn.004b2152
mov ecx, edi
mov edx, esi
call fcn.004b2152
lea ecx, [esp + 0x270]
call fcn.0043c538
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
call fcn.004b2152
jmp 0x43a712
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
push 0x503618
push 0x63
push 0x503285
call fcn.0042138c
add esp, 0xc
mov dword [esp + 0x240], eax
mov ecx, eax
mov dword [esp + 0xd0], edx
push 4
push 0x5035ac
call fcn.00421605
pop ecx
pop edx
test al, al
je 0x43aa62
test byte [edi + 0x11], 4
je 0x43aa62
mov ebx, dword [ebp + 0xc]
lea esi, [esp + 0xe8]
mov ecx, esi
mov edx, ebx
call fcn.00424ef5
cmp dword [esi], 0x80000000
jne 0x43a238
and dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 4
and dword [esp + 0xb8], 0
push 4
pop ebx
xor esi, esi
jmp 0x43a377
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x30]
movsd xmm0, qword [esp + 0xf8]
mov esi, dword [esp + 0x18]
mov dword [edx + 0x18], ecx
mov ecx, dword [esp + 0x20]
movsd qword [edx + 0x10], xmm0
mov dword [edx], eax
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x28]
mov dword [edx + 8], esi
mov dword [edx + 0xc], ecx
jmp 0x43a712
lea edx, [esp + 0x36c]
mov esi, ecx
mov ecx, dword [esp + 0x30]
mov eax, dword [edx + 0x14]
movsd xmm0, qword [edx + 0xc]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x18]
movsd qword [ecx + 0x10], xmm0
mov dword [ecx], ebx
mov dword [ecx + 4], esi
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x28]
jmp 0x43a70f
lea ecx, [esp + 0xec]
mov eax, dword [ecx + 0x14]
movsd xmm0, qword [ecx + 0xc]
mov dword [esp + 0xe0], eax
movsd qword [esp + 0xd8], xmm0
jmp 0x43a6e3
test edi, 0x8040000
je 0x43b5c2
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
push 1
push 0x5138c8
mov edi, eax
call fcn.004379ee
pop ecx
pop edx
push 0x40
pop ecx
mov edx, edi
test edi, ecx
mov edi, dword [esp + 4]
jne 0x43b5d3
test al, al
je 0x43b75d
jmp 0x43b5d3
lea esi, [esp + 0x270]
mov edx, ebx
mov ecx, esi
call fcn.00424f33
mov eax, dword [esi]
mov ecx, 0xffffffff
inc eax
cmove eax, ecx
cmp eax, 5
push 4
pop edx
lea esi, [esp + 0x270]
cmovae edx, eax
mov ecx, esi
call fcn.00424f6b
cmp dword [esi], 0
mov ecx, dword [esi + 4]
jne 0x43ba93
lea eax, [esp + 0x270]
movsd xmm0, qword [esp + 0xe8]
movsd xmm1, qword [esp + 0xf0]
xor esi, esi
mov ebx, dword [eax + 8]
inc esi
lea eax, [esp + 0x368]
movsd qword [ebx + 8], xmm1
movsd qword [ebx], xmm0
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov dword [eax + 8], 1
push 0x10
pop edi
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x47c]
call fcn.00424ef5
cmp dword [esp + 0x47c], 0x80000000
je 0x43a33b
cmp esi, dword [esp + 0x368]
je 0x43a303
movsd xmm0, qword [esp + 0x47c]
movsd xmm1, qword [esp + 0x484]
inc esi
movsd qword [ebx + edi + 8], xmm1
movsd qword [ebx + edi], xmm0
mov dword [esp + 0x370], esi
add edi, 0x10
jmp 0x43a2b4
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x270]
call fcn.00424f33
mov eax, dword [esp + 0x270]
mov ecx, 0xffffffff
mov edx, esi
inc eax
cmove eax, ecx
lea ecx, [esp + 0x368]
push eax
call fcn.00424fc5
pop eax
mov ebx, dword [esp + 0x36c]
jmp 0x43a2d9
mov edx, dword [esp + 0x480]
mov ecx, 0x80000000
call fcn.00450a23
mov esi, dword [esp + 0x370]
movsd xmm0, qword [esp + 0x368]
mov edi, dword [esp + 4]
mov dword [esp + 0xb8], esi
movsd qword [esp + 0xb0], xmm0
mov ebx, dword [esp + 0xb4]
cmp dword [edi + 0x54], 0x80000000
lea eax, [edi + 0x54]
lea ecx, [edi + 0x48]
mov dword [esp + 0xac], eax
mov dword [esp + 0x230], ecx
cmove eax, ecx
lea ecx, [esp + 0x60]
mov edx, dword [eax + 4]
push dword [eax + 8]
call fcn.0041f550
pop eax
mov eax, esi
dec esi
mov dword [esp + 0x3c], 0
mov dword [esp], edi
shl eax, 4
mov dword [esp + 0x70], esi
add eax, ebx
mov dword [esp + 0x74], eax
mov eax, ebx
xor ebx, ebx
cmp eax, dword [esp + 0x74]
je 0x43a7fd
lea ecx, [eax + 0x10]
mov edx, dword [eax + 4]
mov dword [esp + 8], eax
mov dword [esp + 0x238], ecx
mov ecx, dword [esp + 0x3c]
inc ecx
mov dword [esp + 0x234], ecx
lea ecx, [esp + 0x270]
push dword [eax + 8]
call fcn.004e3f90
pop eax
mov edi, dword [esp + 0x274]
mov edx, dword [esp + 0x278]
mov ecx, edi
push 4
push 0x5035ac
call fcn.00421605
pop ecx
pop edx
mov ecx, dword [esp + 0x270]
mov edx, edi
mov byte [esp + 0x1c], al
call fcn.00450a23
cmp byte [esp + 0x1c], 0
movzx ebx, bl
mov eax, 1
cmovne ebx, eax
mov eax, dword [esp]
mov dword [esp + 0x34], ebx
mov ecx, dword [eax + 0xf0]
imul ebx, dword [eax + 0xf4], 0x138
lea eax, [ecx + ebx]
mov dword [esp + 0x4c], ecx
add ecx, 0xfffffec8
mov dword [esp + 0x38], eax
mov dword [esp], ecx
test ebx, ebx
je 0x43a4cd
mov esi, dword [esp]
mov eax, dword [esi + 0x184]
mov edi, dword [esi + 0x188]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x40], edi
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
push edi
push dword [esp + 0x20]
call fcn.004b1782
pop ecx
pop edx
add esi, 0x138
add ebx, 0xfffffec8
test al, al
mov dword [esp], esi
je 0x43a466
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x1c]
cmp eax, dword [esp + 0x70]
je 0x43a7f5
mov ebx, dword [esp + 0x34]
mov ecx, edi
mov eax, edx
jmp 0x43a57e
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x4c]
cmp ecx, dword [esp + 0x38]
je 0x43a639
cmp dword [ecx + 0x60], 0x80000000
lea edx, [ecx + 0x138]
mov dword [esp + 0x4c], edx
je 0x43a4d1
mov eax, dword [ecx + 0x64]
imul esi, dword [ecx + 0x68], 0xc
mov dword [esp], ecx
test esi, esi
je 0x43a4cd
lea ecx, [eax + 0xc]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x270]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 8]
mov edx, dword [eax + 4]
push dword [eax + 8]
call fcn.004e3f90
pop eax
mov ebx, dword [esp + 0x274]
mov edx, dword [esp + 0x40]
mov ecx, edi
push dword [esp + 0x278]
push ebx
call fcn.00421605
pop ecx
pop edx
mov ecx, dword [esp + 0x270]
mov edx, ebx
mov byte [esp + 0x40], al
call fcn.00450a23
add esi, 0xfffffff4
cmp byte [esp + 0x40], 0
mov eax, dword [esp + 0x1c]
je 0x43a4fc
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x70]
je 0x43a7f5
mov eax, dword [esp]
mov ebx, dword [esp + 0x34]
mov ecx, dword [eax + 0x4c]
mov eax, dword [eax + 0x50]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x270], 0x50a058
mov dword [esp + 0x368], eax
lea eax, [esp + 0x98]
mov dword [esp + 0x36c], fcn.00450172
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], fcn.0040ff99
push 2
pop ecx
mov dword [esp + 0x274], ecx
and dword [esp + 0x280], 0
lea eax, [esp + 0x368]
lea edx, [esp + 0x270]
mov dword [esp + 0x278], eax
mov dword [esp + 0x27c], ecx
lea ecx, [esp + 0x50]
call fcn.00405066
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
call fcn.004b2152
mov eax, dword [esp + 0x58]
movsd xmm0, qword [esp + 0x50]
mov ecx, dword [esp + 0x234]
mov edi, dword [esp + 4]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x238]
movsd qword [esp + 0x60], xmm0
mov dword [esp + 0x3c], ecx
jmp 0x43a3c4
mov edx, dword [eax + 4]
lea edi, [esp + 0x270]
mov ecx, edi
push dword [eax + 8]
call fcn.004e3f90
pop eax
lea ecx, [esp + 0x368]
mov edx, edi
call fcn.0042b5d9
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0xac]
mov eax, dword [edi + 0x10]
cmp dword [edi + 0x54], 0x80000000
cmove ebx, dword [esp + 0x230]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
push 2
pop esi
cmovae esi, eax
lea ecx, [esp + 0x78]
lea edx, [esp + 0x368]
push esi
push ebx
call fcn.00437442
pop eax
pop ecx
jmp 0x43aa3a
mov eax, dword [esp + 0xf0]
mov edx, dword [esp + 0xec]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0xec]
movsd xmm0, qword [eax + 0xc]
mov eax, dword [eax + 0x14]
movsd qword [esp + 0xd8], xmm0
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0x30]
movsd xmm0, qword [esp + 0xd8]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x4c]
movsd qword [ecx + 0x10], xmm0
mov dword [ecx], edi
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x14]
mov edx, edi
call fcn.004b2152
mov ecx, dword [esp + 0x220]
mov edx, dword [esp + 0x224]
call fcn.00450a23
jmp 0x43b4c2
mov edx, dword [esp + 0x14]
lea edi, [esp + 0xe8]
mov ecx, edi
push dword [esp + 0x1c]
mov dword [esp + 0xc], eax
call fcn.004e3f90
pop eax
lea ecx, [esp + 0x270]
mov edx, edi
call fcn.0042b5d9
mov ebx, dword [esp + 4]
cmp dword [ebx + 0x54], 0x80000000
lea esi, [ebx + 0x54]
lea eax, [ebx + 0x48]
cmove esi, eax
sub esp, 4
lea ecx, [esp + 0xec]
mov edx, ebx
push 0
push dword [ebp + 8]
call fcn.0043bd8e
add esp, 0xc
lea eax, [esp + 0xe8]
mov edi, dword [eax + 4]
mov eax, dword [ebx + 0x10]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
push 2
pop ebx
mov ecx, dword [esp + 0x30]
cmovae ebx, eax
lea edx, [esp + 0x270]
push ebx
lea ebx, [esp + 0xec]
push dword [ebx + 8]
push edi
push esi
push dword [esp + 0x44]
push dword [esp + 0x1c]
call fcn.0043c02e
add esp, 0x18
mov ecx, dword [ebx]
mov edx, edi
mov edi, dword [esp + 0x14]
call fcn.004b2152
mov ecx, dword [esp + 0x368]
mov edx, dword [esp]
jmp 0x43b956
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x34]
mov edx, dword [esp]
lea ecx, [esp + 0xe8]
call fcn.0042c00e
test bl, 1
jne 0x43a822
lea ecx, [esp + 0xe8]
call fcn.00436a4a
jmp 0x43a999
xor edx, edx
mov ecx, 0x80000000
lea ebx, [esp + 0x270]
mov eax, 0x98
inc edx
mov dword [ebx + 0x98], ecx
mov dword [ebx + 0xa4], ecx
mov dword [ebx + 0xb0], ecx
mov dword [ebx + 0xbc], ecx
mov dword [ebx + 0xc8], ecx
mov dword [esp + 0x400], ecx
mov dword [esp + 0x40c], ecx
mov dword [esp + 0x418], ecx
mov dword [esp + 0x424], ecx
mov dword [esp + 0x430], ecx
mov dword [esp + 0x43c], 0x5035b0
mov dword [esp + 0x440], 0xa
and dword [esp + 0x44c], 0
mov dword [ebx + 0xd4], edx
and dword [ebx + 0xd8], 0
and dword [ebx + 0xdc], 0
and dword [ebx + 0xe4], 0
mov dword [ebx + 0xec], 0x404
and dword [ebx + 4], 0
and dword [ebx], 0
and dword [ebx + 0x14], 0
and dword [ebx + 0x10], 0
and dword [ebx + 0x24], 0
and dword [ebx + 0x20], 0
mov dword [ebx + 0x30], ecx
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x58], 0x80000001
and dword [ebx + 0x68], 0
and dword [ebx + 0x70], 0
and dword [ebx + 0x78], 0
and dword [ebx + 0x80], 0
mov dword [ebx + 0x88], 0x110000
mov dword [ebx + 0x8c], ecx
and dword [ebx + 0xf4], 0
and dword [ebx + 0xf0], 0
lea ecx, [esp + 0x270]
mov esi, edx
lea edx, [ecx + eax]
mov dword [esp], edx
push eax
push ecx
lea eax, [esp + 0x370]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp]
and dword [esp + 0x45c], 0
mov dword [esp + 0x458], esi
call fcn.00421af6
lea esi, [esp + 0xe8]
lea eax, [esp + 0x368]
mov dword [esp + 0x444], 0x5035ba
mov dword [esp + 0x448], 0x2c
mov dword [esp + 0x454], 0x406
mov ecx, ebx
mov edx, esi
push eax
xor eax, eax
inc eax
push eax
call fcn.0042cff1
pop eax
pop ecx
mov ecx, ebx
call fcn.00427807
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x1c]
or dword [esi + 0x10], eax
or dword [esi + 0x14], ecx
mov edx, dword [esp + 0xac]
lea esi, [esp + 0x13c]
mov ecx, esi
call fcn.00436174
test al, al
jne 0x43aa1e
lea eax, [esp + 0x60]
lea edi, [esp + 0x130]
lea edx, [esp + 0x270]
mov dword [esp + 0x50], eax
mov eax, fcn.00450172
mov dword [edx], 0x50a058
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], eax
push 2
pop eax
mov dword [edx + 4], eax
and dword [edx + 0x10], 0
lea ecx, [esp + 0x50]
lea ebx, [esp + 0x98]
mov dword [edx + 8], ecx
mov ecx, ebx
mov dword [edx + 0xc], eax
call fcn.00405066
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
mov edi, dword [esp + 4]
call fcn.00450a23
mov eax, dword [ebx + 8]
movsd xmm0, qword [ebx]
mov dword [esi + 8], eax
movsd qword [esi], xmm0
lea esi, [esp + 0xe8]
lea ecx, [esp + 0x78]
mov edx, esi
push 0
call fcn.0043754c
pop eax
mov ecx, esi
call fcn.004275bb
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
call fcn.004b2152
lea ecx, [esp + 0xb0]
call fcn.0042ce1f
mov eax, dword [esp + 0x78]
cmp eax, 0x80000000
jne 0x43b599
mov edx, dword [esp + 0x240]
lea esi, [esp + 0xe8]
mov ecx, esi
push dword [esp + 0xd0]
call fcn.004210e4
pop eax
mov eax, dword [esi + 8]
movsd xmm0, qword [esi]
mov ecx, dword [esp + 0x220]
mov edx, dword [esp + 0x224]
mov dword [esp + 0x278], eax
movsd qword [esp + 0x270], xmm0
call fcn.00450a23
mov eax, dword [esp + 0x278]
movsd xmm0, qword [esp + 0x270]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x228], eax
movsd qword [esp + 0x220], xmm0
call fcn.004b2152
test byte [esp + 0x248], 1
jne 0x43b271
cmp dword [esp + 0x220], 0x80000000
jne 0x43ab83
mov eax, dword [edi + 0x10]
test al, 2
jne 0x43ad30
test al, al
jns 0x43b271
and dword [esp + 0x270], 0
mov dword [esp + 0x274], 1
and dword [esp + 0x278], 0
lea esi, [esp + 0xe8]
lea eax, [esp + 0x270]
mov edx, edi
mov ecx, esi
push eax
call fcn.0043ec55
pop eax
mov eax, dword [esi]
cmp eax, 0x80000000
jne 0x43b556
mov edx, dword [esp + 0x274]
lea esi, [esp + 0xe8]
mov ecx, esi
push dword [esp + 0x278]
call fcn.0041ef40
pop eax
mov edi, dword [esp + 0x30]
mov edx, esi
mov ecx, edi
call fcn.0042b5d9
mov dword [edi + 0xc], 0x80000000
mov byte [edi + 0x18], 0xc
jmp 0x43b586
mov ecx, dword [edi + 0xf0]
imul eax, dword [edi + 0xf4], 0x138
add eax, ecx
mov dword [esp], eax
mov eax, ecx
cmp eax, dword [esp]
je 0x43ba51
mov ecx, dword [eax + 0x4c]
mov edi, dword [eax + 0x50]
mov ebx, eax
lea eax, [esp + 0x220]
mov dword [esp + 8], ecx
mov edx, edi
push eax
call fcn.00436303
pop ecx
test al, al
jne 0x43ac08
cmp dword [ebx + 0x60], 0x80000000
lea eax, [ebx + 0x138]
je 0x43ab9a
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x64]
imul ebx, dword [ebx + 0x68], 0xc
test ebx, ebx
je 0x43ac02
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea esi, [eax + 0xc]
lea eax, [esp + 0x220]
push eax
call fcn.00436303
pop ecx
add ebx, 0xfffffff4
test al, al
mov eax, esi
je 0x43abdd
jmp 0x43ac08
mov eax, dword [esp + 0x14]
jmp 0x43ab9a
mov edx, dword [esp + 8]
lea ebx, [esp + 0xb0]
mov ecx, ebx
push edi
call fcn.0041f550
pop eax
mov edi, dword [esp + 4]
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
and dword [esp + 0x60], 0
mov dword [esp + 0x64], 1
and dword [esp + 0x68], 0
test byte [edi + 0x10], 1
mov dword [esp + 0x14], eax
mov dword [esp], ecx
jne 0x43afad
mov eax, edi
mov edi, dword [edi + 0x114]
lea ebx, [esp + 0xe8]
mov esi, dword [eax + 0x118]
mov ecx, ebx
mov edx, esi
call fcn.004219f1
cmp dword [ebx], 0
mov ecx, dword [ebx + 4]
jne 0x43ba6f
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
and dword [esp + 0xf0], 0
cmp esi, ecx
ja 0x43b99d
xor ecx, ecx
test esi, esi
je 0x43acb4
add edi, 4
mov edx, dword [edi - 4]
mov ebx, dword [edi]
add edi, 8
mov dword [eax + ecx*8], edx
mov dword [eax + ecx*8 + 4], ebx
inc ecx
dec esi
jne 0x43aca1
lea ebx, [esp + 0xe8]
mov esi, dword [ebp + 8]
lea edi, [esp + 0x50]
movsd xmm0, qword [ebx]
mov dword [edi + 8], ecx
mov ecx, ebx
mov edx, esi
movsd qword [edi], xmm0
call fcn.0043ec6c
mov eax, dword [ebx]
mov edx, ebx
mov ecx, edx
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 8]
mov dword [ecx], eax
mov ecx, dword [esp + 0x24]
lea edx, [eax + ebx*8]
shl ebx, 3
mov dword [esp + 8], edx
lea edx, [esp + 0xe8]
mov dword [edx + 8], ecx
mov edx, dword [esp + 8]
lea ecx, [esp + 0xe8]
mov dword [ecx + 0xc], edx
test ebx, ebx
je 0x43ae73
mov edx, dword [eax]
lea esi, [eax + 8]
mov ecx, edi
push dword [eax + 4]
call fcn.00423932
pop eax
mov eax, esi
mov esi, dword [ebp + 8]
add ebx, 0xfffffff8
jmp 0x43ad0e
mov ebx, edi
mov ecx, 0x80000000
add edi, 0x54
cmp dword [ebx + 0x54], ecx
lea eax, [ebx + 0x48]
cmove edi, eax
sub esp, 4
lea esi, [esp + 0x54]
mov edx, ebx
mov ecx, esi
push 0
push dword [ebp + 8]
call fcn.0043bd8e
add esp, 0xc
mov eax, dword [ebx + 0x10]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
push 2
pop edx
cmovae edx, eax
xor ecx, ecx
mov dword [esp + 0x60], esi
inc ecx
call fcn.0042efec
xor ecx, ecx
cmp al, 2
mov dword [esp + 0x7c], 0x503cf2
push 6
pop eax
setae cl
mov dword [esp + 0x36c], str.__help_The_argument__cannot_be_used_with__n_nFor_more_information_try
mov dword [esp + 0x80], eax
mov dword [esp + 0x370], eax
lea edx, [ecx + ecx*2]
lea ecx, [ecx + ecx + 1]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x9c], edi
push 3
pop eax
sbb eax, 0
lea ecx, [esp + 0x98]
lea edx, [esp + 0x270]
mov dword [esp + 0x368], eax
lea eax, [esp + 0x78]
mov dword [edx], 0x504020
mov dword [esp + 0xe8], eax
mov eax, 0x421617
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], ecx
lea ecx, [esp + 0x60]
mov dword [esp + 0xf4], 0x423358
mov dword [esp + 0xf8], ecx
lea ecx, [esp + 0x368]
mov dword [esp + 0xfc], fcn.004233d2
mov dword [esp + 0x100], ecx
mov dword [esp + 0x104], eax
push 4
pop eax
mov edi, dword [esp + 0x30]
mov dword [edx + 4], eax
and dword [edx + 0x10], 0
lea ecx, [esp + 0xe8]
mov dword [edx + 8], ecx
mov dword [edx + 0xc], eax
mov ecx, edi
call fcn.00405066
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov eax, 0x80000000
mov byte [edi + 0x18], 0xb
mov dword [edi + 0xc], eax
jmp 0x43a71c
mov eax, dword [esp + 8]
lea ecx, [esp + 0xe8]
mov dword [esp + 0xec], eax
call fcn.004236ad
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
sub esp, 0x18
mov edx, dword [esp + 0x1c]
and dword [esp + 0x14], 0
and dword [esp + 0xc], 0
mov dword [esp + 8], esi
lea esi, [esp + 0x380]
mov dword [esp + 0x3c], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov ecx, esi
call fcn.004341cb
add esp, 0x18
lea edi, [esp + 0x270]
mov edx, esi
mov ecx, edi
call fcn.004251dd
mov ecx, edi
mov edi, dword [edi]
mov eax, dword [ecx + 8]
mov ebx, dword [ecx + 4]
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
cmp edi, ebx
je 0x43aeec
mov esi, eax
jmp 0x43af02
mov ecx, dword [esp + 8]
mov esi, ebx
mov dword [esp + 8], ebx
mov ebx, eax
mov edi, ecx
cmp ecx, eax
je 0x43af90
test edi, edi
je 0x43af90
mov dword [esp + 0x24c], edi
add edi, 0xc
xor ecx, ecx
lea eax, [esp + 0x24c]
mov dword [esp + 0xe8], 0x50a050
inc ecx
mov dword [esp + 0x98], eax
lea eax, [esp + 0x98]
mov dword [esp + 0x9c], fcn.004233d2
mov dword [esp + 0xec], ecx
and dword [esp + 0xf8], 0
mov dword [esp + 0xf0], eax
lea eax, [esp + 0xe8]
mov dword [esp + 0xf4], ecx
push eax
lea eax, [esp + 0x64]
push eax
call fcn.00427f9d
pop ecx
pop edx
movzx ecx, al
mov edx, 0x503285
push 0x503648
push 0x63
call fcn.00429835
pop eax
pop ecx
mov eax, esi
jmp 0x43aee4
lea ecx, [esp + 0x368]
call fcn.004353ba
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x24]
call fcn.00402f81
mov edi, dword [esp + 4]
lea ecx, [esp + 0x60]
push 0x20
pop edx
call fcn.00422b7f
mov esi, 0xfffffec8
mov ebx, dword [esp + 0x14]
add esi, dword [edi + 0xf0]
imul edi, dword [edi + 0xf4], 0x138
test edi, edi
je 0x43b24d
mov ecx, dword [esi + 0x184]
mov edx, dword [esi + 0x188]
push dword [esp]
push ebx
call fcn.00421605
pop ecx
pop edx
add esi, 0x138
add edi, 0xfffffec8
test al, al
je 0x43afd2
lea ecx, [esp + 0x270]
call fcn.0043c419
mov eax, dword [esp + 4]
and dword [esp + 0x50], 0
and dword [esp + 0x58], 0
mov edx, 0x80000000
mov ecx, dword [eax + 0x54]
lea ebx, [eax + 0x54]
xor eax, eax
xor edi, edi
inc edi
mov dword [esp], ebx
mov dword [esp + 0x54], edi
cmp ecx, edx
mov ecx, ebx
lea edx, [esp + 0x50]
lea ebx, [esp + 0x368]
cmove ecx, edx
lea edx, [esp + 0xd8]
cmovne eax, dword [esp + 0x68]
mov dword [edx], ecx
mov ecx, dword [esp + 0x64]
cmove ecx, edi
lea edi, [esp + 0xe8]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x50]
mov dword [edi], edx
mov dword [esp + 0x24c], eax
mov eax, fcn.004233d2
mov dword [esp + 0x250], ecx
mov ecx, fcn.0040ff99
mov dword [edi + 4], eax
lea eax, [esp + 0xc0]
mov dword [edi + 8], eax
lea eax, [esp + 0x24c]
mov dword [edi + 0xc], ecx
mov dword [edi + 0x10], eax
mov eax, 0x50332c
mov dword [edi + 0x14], ecx
mov dword [ebx], eax
push 3
pop ecx
mov dword [ebx + 4], ecx
and dword [ebx + 0x10], 0
lea eax, [esp + 0xe8]
mov edx, ebx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
lea ecx, [esp + 0x98]
call fcn.00405066
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
call fcn.004b2152
mov ecx, dword [esi + 0x6c]
mov edx, dword [esi + 0x70]
call fcn.00450a23
lea ecx, [esp + 0x98]
mov edx, 0x80000000
mov eax, dword [ecx + 8]
mov dword [esi + 0x74], eax
mov eax, dword [esp + 4]
movsd xmm0, qword [ecx]
movsd qword [esi + 0x6c], xmm0
and dword [esp + 0x50], 0
and dword [esp + 0x58], 0
mov ecx, dword [eax + 0x54]
xor eax, eax
cmp ecx, edx
mov ecx, dword [esp]
lea edx, [esp + 0x50]
setne al
cmove ecx, edx
lea edx, [esp + 0xd8]
mov dword [edx], ecx
mov edx, 1
mov ecx, 0x512c73
cmove ecx, edx
mov dword [esp + 0x54], edx
mov edx, 0x50332c
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x50]
mov dword [ebx], edx
mov dword [esp], eax
push 3
pop edx
lea eax, [esp + 0xe8]
mov dword [ebx + 4], edx
and dword [ebx + 0x10], 0
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
mov edx, dword [esp]
lea ebx, [esp + 0x98]
mov dword [esp + 0x24c], edx
mov dword [esp + 0x250], ecx
lea ecx, [esp + 0xd8]
mov edx, fcn.004233d2
mov dword [edi], ecx
lea ecx, [esp + 0xc0]
mov dword [edi + 4], edx
mov edx, fcn.0040ff99
mov dword [edi + 8], ecx
lea ecx, [esp + 0x24c]
mov dword [edi + 0xc], edx
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], edx
lea edx, [esp + 0x368]
mov ecx, ebx
call fcn.00405066
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
call fcn.004b2152
mov ecx, dword [esi + 0x54]
mov edx, dword [esi + 0x58]
call fcn.00450a23
mov eax, dword [ebx + 8]
mov ecx, edi
mov edx, esi
mov dword [esi + 0x5c], eax
movsd xmm0, qword [ebx]
movsd qword [esi + 0x54], xmm0
push dword [ebp + 0xc]
lea eax, [esp + 0x274]
push eax
call fcn.00437b0f
pop eax
pop ecx
mov edi, dword [edi]
mov eax, 0x80000000
cmp edi, eax
jne 0x43b4ca
mov edx, dword [esi + 0x4c]
lea ecx, [esp + 0x118]
push dword [esi + 0x50]
call fcn.0041f550
pop eax
push 0xc
pop ecx
lea edx, [esp + 0xe8]
lea esi, [esp + 0x270]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 8]
call fcn.0043c432
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
call fcn.004b2152
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
call fcn.004b2152
mov edi, dword [esp + 4]
mov eax, dword [edi + 0x20]
mov ebx, dword [edi + 0xd8]
test eax, eax
je 0x43b28a
mov ecx, dword [edi + 0x24]
mov dword [esp + 8], eax
mov dword [esp], ecx
jmp 0x43b294
mov dword [esp], eax
xor eax, eax
inc eax
mov dword [esp + 8], eax
mov eax, dword [edi + 0x14]
imul esi, dword [edi + 0xdc], 0x78
add ebx, 0xffffff88
mov dword [esp + 0x14], eax
test esi, esi
je 0x43b2cf
mov ecx, dword [ebx + 0xd4]
mov edx, dword [ebx + 0xd8]
push dword [esp]
push dword [esp + 0xc]
call fcn.00421605
pop ecx
pop edx
add ebx, 0x78
add esi, 0xffffff88
test al, al
je 0x43b2a5
jmp 0x43b2d1
xor ebx, ebx
mov esi, 0xfffffef0
add esi, dword [edi + 0xe4]
imul edi, dword [edi + 0xe8], 0x110
test edi, edi
je 0x43b316
mov ecx, dword [esi + 0x204]
mov edx, dword [esi + 0x208]
push dword [esp]
push dword [esp + 0xc]
call fcn.00421605
pop ecx
pop edx
add esi, 0x110
add edi, 0xfffffef0
test al, al
je 0x43b2e6
jmp 0x43b318
xor esi, esi
mov edi, dword [esp + 4]
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
imul edx, ecx, 0xf8
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0xe8]
add edx, eax
mov dword [ecx], eax
mov eax, dword [esp + 0x24]
mov dword [ecx + 4], edx
mov edx, dword [edi + 0xc]
and dword [ecx + 8], 0
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], edx
and dword [ecx + 0x14], 0
lea ecx, [esp + 0xe8]
call fcn.004225c9
test edx, edx
je 0x43b381
mov edi, edx
mov ecx, dword [edx + 0xd4]
mov edx, dword [edx + 0xd8]
push dword [esp]
push dword [esp + 0xc]
call fcn.00421605
pop ecx
pop edx
test al, al
je 0x43b34f
jmp 0x43b383
xor edi, edi
mov ecx, 0x100
xor eax, eax
mov edx, 0x502f50
test dword [esp + 0x14], ecx
mov ecx, 0x502fcc
setne al
test esi, esi
cmove edx, ecx
mov ecx, dword [ebp + 8]
cmovne edi, esi
test ebx, ebx
mov esi, 0x502ed4
cmovne edi, ebx
cmove esi, edx
mov edx, edi
push eax
push dword [esp + 0xd8]
push dword [esp + 0x244]
push esi
call 0x43ba9f
add esp, 0x10
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x12c]
mov ecx, dword [ecx + 0x130]
shl ecx, 4
add ecx, eax
mov dword [esp], ecx
cmp eax, ecx
je 0x43b478
mov edi, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [eax]
lea ebx, [eax + 0x10]
push dword [eax + 4]
call fcn.00440c1c
mov ecx, dword [esp + 4]
add esp, 4
test al, al
mov eax, ebx
mov dword [esp + 8], ebx
je 0x43b3e5
mov ecx, dword [ebp + 8]
mov edx, edi
push esi
call fcn.00440c57
pop eax
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0x118]
sub ebx, 1
jb 0x43b46c
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x114]
mov edx, dword [eax + 0x118]
push 0x503638
push ebx
call fcn.00412160
pop ecx
pop edx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push esi
push edi
call fcn.00421605
pop ecx
pop edx
test al, al
je 0x43b42a
mov ecx, dword [esp + 0xd4]
mov edx, ebx
call fcn.004291a3
mov eax, dword [esp + 8]
mov ecx, dword [esp]
jmp 0x43b3e5
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 4]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xf0], eax
push dword [ebp + 8]
push dword [esp + 0x228]
push dword [esp + 0x228]
lea eax, [esp + 0xf4]
push eax
call fcn.0043c559
add esp, 0x10
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movsd xmm0, qword [esp + 0xfc]
movsd xmm2, qword [esp + 0xec]
movsd xmm1, qword [esp + 0xf4]
lea ecx, [esp + 0x270]
movsd qword [esp + 0x88], xmm0
movsd qword [esp + 0x80], xmm1
movsd qword [esp + 0x78], xmm2
call fcn.0043c538
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
call fcn.004b2152
movsd xmm0, qword [esp + 0x88]
mov eax, dword [esp + 0x30]
movsd xmm2, qword [esp + 0x78]
movsd xmm1, qword [esp + 0x80]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
movsd qword [eax + 0x14], xmm0
movsd qword [eax + 0xc], xmm1
movsd qword [eax + 4], xmm2
mov dword [eax], edi
jmp 0x43a71c
movsd xmm0, qword [esp + 0xfc]
mov ecx, dword [esp + 0x30]
movsd xmm2, qword [esp + 0xec]
movsd xmm1, qword [esp + 0xf4]
movsd qword [ecx + 0x14], xmm0
movsd qword [ecx + 0xc], xmm1
movsd qword [ecx + 4], xmm2
mov dword [ecx], eax
mov ecx, dword [esp + 0x270]
mov edx, dword [esp + 0x274]
jmp 0x43a71c
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x30]
movsd xmm0, qword [esp + 0x7c]
movsd xmm1, qword [esp + 0x88]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x90]
jmp 0x43b989
push 0x40
pop ecx
mov edi, dword [esp + 4]
mov edx, eax
test eax, ecx
je 0x43b75d
cmp byte [esp + 0x234], 0
je 0x43b5f2
test edx, ecx
je 0x43b75d
cmp dword [edi + 0xf4], 0
je 0x43b75d
mov edx, dword [esp + 0x14]
mov esi, edi
lea edi, [esp + 0x368]
mov ecx, edi
push dword [esp + 0x1c]
call fcn.004e3f90
pop eax
mov eax, dword [esi + 0xf0]
imul ecx, dword [esi + 0xf4], 0x138
lea edx, [esp + 0xf4]
lea esi, [esp + 0xfc]
mov dword [esp + 8], 0
mov dword [edx - 0xc], 1
add ecx, eax
mov dword [edx - 8], eax
mov dword [edx - 4], ecx
and dword [edx], 0
and dword [esi], 0
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov ecx, dword [edi + 4]
mov esi, dword [edi + 8]
mov dword [esp], ecx
test eax, eax
je 0x43b682
cmp eax, dword [esp + 0x108]
je 0x43b67a
lea ecx, [eax + 0x138]
mov dword [esp + 0x104], ecx
mov ebx, dword [eax + 0x4c]
mov edi, dword [eax + 0x50]
jmp 0x43b70c
and dword [esp + 0x104], 0
cmp dword [esp + 0xe8], 0
je 0x43b7a2
lea ecx, [esp + 0xf4]
call fcn.00441407
test eax, eax
jne 0x43b708
mov eax, dword [esp + 0xec]
test eax, eax
je 0x43b6f4
mov ecx, dword [esp + 0xf0]
cmp eax, ecx
je 0x43b6ed
cmp dword [eax + 0x60], 0x80000000
lea edx, [eax + 0x138]
mov eax, edx
je 0x43b6b2
mov dword [esp + 0xec], edx
mov eax, dword [edx - 0xd4]
imul ecx, dword [edx - 0xd0], 0xc
add ecx, eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], ecx
jmp 0x43b690
mov dword [esp + 0xec], ecx
lea ecx, [esp + 0xfc]
call fcn.00441407
test eax, eax
je 0x43b7a2
mov ebx, eax
mov edi, edx
mov edx, dword [esp]
lea ecx, [esp + 0x270]
push edi
push ebx
push esi
call fcn.004e683d
add esp, 0xc
movsd xmm0, qword [esp + 0x270]
ucomisd xmm0, qword [0x500090]
jbe 0x43b751
cmp dword [esp + 8], 0
je 0x43b743
ucomisd xmm0, qword [esp + 0x28]
jbe 0x43b751
mov dword [esp + 0x18], edi
mov dword [esp + 8], ebx
movsd qword [esp + 0x28], xmm0
mov eax, dword [esp + 0x104]
jmp 0x43b655
mov edx, dword [esp + 0x14]
lea ebx, [esp + 0x270]
mov ecx, ebx
push dword [esp + 0x1c]
call fcn.004e3f90
pop eax
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 8]
mov dword [esp + 8], ecx
mov dword [esp], eax
sub esp, 4
lea ebx, [esp + 0xec]
mov edx, edi
mov ecx, ebx
push 0
push esi
call fcn.0043bd8e
add esp, 0xc
mov esi, dword [ebx + 4]
jmp 0x43b8f9
mov ebx, dword [esp + 4]
mov eax, dword [esp + 8]
lea ecx, [esp + 0xe8]
lea esi, [ebx + 0x54]
lea edi, [ebx + 0x48]
test eax, eax
je 0x43b9ba
mov edx, dword [esp + 0x14]
push dword [esp + 0x1c]
mov dword [esp + 0xc], eax
call fcn.004e3f90
pop eax
lea ecx, [esp + 0x270]
lea edx, [esp + 0xe8]
call fcn.0042b5d9
cmp dword [ebx + 0x54], 0x80000000
cmove esi, edi
sub esp, 4
lea ecx, [esp + 0xec]
mov edx, ebx
push 0
push dword [ebp + 8]
call fcn.0043bd8e
add esp, 0xc
lea eax, [esp + 0xe8]
mov edi, dword [eax + 4]
mov eax, dword [ebx + 0x10]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
push 2
pop ebx
mov ecx, dword [esp + 0x30]
cmovae ebx, eax
lea edx, [esp + 0x270]
push ebx
lea ebx, [esp + 0xec]
push dword [ebx + 8]
push edi
push esi
push dword [esp + 0x28]
push dword [esp + 0x1c]
call fcn.0043c02e
add esp, 0x18
mov ecx, dword [ebx]
mov edx, edi
call fcn.004b2152
jmp 0x43ba11
sub esp, 4
mov ebx, dword [esp + 8]
lea esi, [esp + 0xec]
mov ecx, esi
mov edx, ebx
push 0
push dword [ebp + 8]
call fcn.0043bd8e
add esp, 0xc
mov eax, dword [ebx + 0x10]
mov edi, dword [esi + 4]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
push 2
pop ebx
mov ecx, dword [esp + 0x30]
cmovae ebx, eax
mov edx, edi
push ebx
push dword [esi + 8]
call fcn.0043c378
pop eax
pop ecx
mov ecx, dword [esi]
mov edx, edi
jmp 0x43a0c8
mov edx, dword [esp + 0x14]
lea esi, [esp + 0x270]
mov ecx, esi
push dword [esp + 0x1c]
call fcn.004e3f90
pop eax
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
mov dword [esp + 8], eax
mov dword [esp], edx
sub esp, 4
mov edi, dword [esp + 8]
lea esi, [esp + 0xec]
mov ecx, esi
mov edx, edi
push 0
push dword [ebp + 8]
call fcn.0043bd8e
add esp, 0xc
mov esi, dword [esi + 4]
mov eax, dword [edi + 0x10]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
push 2
pop edi
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x30]
cmovae edi, eax
mov edx, ebx
push edi
mov edi, dword [esp + 0x18]
lea eax, [esp + 0xec]
push dword [eax + 8]
push esi
push 0
push 1
push dword [esp + 0x14]
call fcn.0043beb6
add esp, 0x18
lea eax, [esp + 0xe8]
mov edx, esi
mov ecx, dword [eax]
call fcn.004b2152
lea eax, [esp + 0x270]
mov edx, ebx
mov ecx, dword [eax]
call fcn.00450a23
mov ecx, dword [esp + 0x24]
jmp 0x43a71a
lea esi, [esp + 0xec]
mov edx, dword [esp + 0x30]
movsd xmm1, qword [esp + 0xf8]
mov ecx, dword [esi + 8]
movsd xmm0, qword [esi]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x100]
movsd qword [edx + 4], xmm0
movsd qword [edx + 0x10], xmm1
mov dword [edx + 0x18], ecx
mov dword [edx], eax
jmp 0x43a712
lea ebx, [esp + 0xe8]
xor edx, edx
mov ecx, ebx
push esi
call fcn.00421a4d
pop eax
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
jmp 0x43ac9e
mov edx, dword [esp + 0x14]
push dword [esp + 0x1c]
call fcn.004e3f90
pop eax
lea ecx, [esp + 0x270]
lea edx, [esp + 0xe8]
call fcn.0042b5d9
mov eax, dword [ebx + 0x10]
cmp dword [ebx + 0x54], 0x80000000
mov ecx, eax
cmove esi, edi
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
push 2
pop edi
mov ecx, dword [esp + 0x30]
cmovae edi, eax
lea edx, [esp + 0x270]
push edi
push esi
call fcn.00437442
pop eax
pop ecx
mov ecx, dword [esp + 0x368]
mov edx, dword [esp]
call fcn.00450a23
jmp 0x43a712
mov edx, dword [esp + 0x14]
lea esi, [esp + 0x270]
mov ecx, esi
push dword [esp + 0x1c]
call fcn.004e3f90
pop eax
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
mov dword [esp + 8], eax
mov dword [esp], edx
sub esp, 4
jmp 0x43b8de
push 0x63
pop edx
mov ecx, 0x503285
push 0x503628
call fcn.00444fb0
mov ecx, ebx
push 0x50434c
call fcn.00443260
mov edx, dword [esp + 0xf0]
call fcn.0041ec50
mov ecx, edi
push 0x50435c
call fcn.00443260
mov ecx, esi
push 0x50439c
call fcn.00443260
mov edx, dword [esp + 0x278]
call fcn.0041ec50
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x34
test edx, edx
mov dword [ebp - 0x10], edx
je 0x43bc03
mov eax, dword [ebp + 8]
mov esi, ecx
push dword [ebp - 0x10]
call dword [eax + 0x14]
add esp, 4
test eax, eax
je 0x43bbe9
mov ebx, eax
lea eax, [eax + edx*8]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x40], eax
cmp ebx, dword [ebp - 0x40]
je 0x43bbe0
lea eax, [ebx + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
push dword [ebp - 0x10]
mov dword [ebp - 0x24], eax
call eax
pop ecx
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
mov dword [ebp - 0x1c], eax
mov eax, edx
mov ecx, esi
mov edx, edi
push eax
push dword [ebp - 0x1c]
call fcn.00421605
pop ecx
pop edx
test al, al
jne 0x43bbc2
mov ecx, dword [ebp - 0x14]
mov edx, esi
push edi
call fcn.00440c1c
pop ecx
test al, al
je 0x43bb97
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x38], esi
mov edx, esi
mov dword [ebp - 0x3c], edi
push edi
call fcn.00440c57
pop eax
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + 8]
mov ecx, dword [eax + 4]
mov edi, esi
mov dword [ebp - 0x1c], ecx
sub edi, 1
jb 0x43bb80
mov ecx, dword [ebp - 0x1c]
mov edx, esi
push 0x503cd0
push edi
call fcn.00412160
pop ecx
pop edx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push dword [ebx + 4]
push dword [ebx]
call fcn.00421605
pop ecx
pop edx
test al, al
je 0x43bb4a
mov ecx, dword [ebp + 0x10]
mov edx, edi
call fcn.004291a3
push dword [ebp - 0x10]
call dword [ebp - 0x24]
add esp, 4
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
jmp 0x43bba6
push dword [ebp - 0x10]
call dword [ebp - 0x24]
add esp, 4
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], edi
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], edx
lea edx, [ebp - 0x34]
call fcn.00441cb6
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
jmp 0x43badb
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
mov ecx, esi
push dword [ebp + 8]
call fcn.00441c0d
pop eax
mov ebx, dword [ebp - 0x18]
mov al, 1
mov dword [ebp - 0x20], eax
jmp 0x43badb
cmp byte [ebp - 0x20], 0
setne al
jmp 0x43bbeb
xor eax, eax
cmp byte [ebp + 0x14], 0
je 0x43bc03
test al, al
jne 0x43bc03
mov edx, dword [ebp - 0x10]
mov ecx, esi
push dword [ebp + 8]
call fcn.00441c0d
pop eax
add esp, 0x34
pop esi
pop edi
pop ebx
pop ebp
ret