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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x6c0
mov dword [esp + 0xb8], ecx
mov ecx, dword [edx + 0x54]
mov esi, dword [ebp + 0xc]
call 0x42f860
pop eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x70], eax
test byte [ecx + 0x1c], 1
jne 0x42f9e5
cmp byte [edx + 0x38], 3
lea ecx, [edx + 0x30]
mov eax, 0x4b3e34
cmovne eax, ecx
mov bl, byte [eax + 8]
cmp bl, 2
jne 0x42f9f4
cmp byte [edx + 0x40], 0
je 0x42f9e5
mov al, byte [edx + 0x3e]
lea edi, [esp + 0x460]
cmp al, 2
sete cl
or cl, al
mov byte [esp], cl
push 0xa
pop eax
lea ecx, [esp + 0x40]
lea ebx, [esi*4]
mov esi, dword [ebp + 8]
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], 0x64
mov dword [edi + 0xc], 0xfa
mov byte [edi + 0x10], 0
and dword [ecx], 0
mov dword [ecx + 4], 4
and dword [ecx + 8], 0
test ebx, ebx
je 0x42fa19
mov edx, edi
lea ecx, [esp + 0x5b8]
push dword [esi]
call fcn.0044be43
pop eax
cmp dword [esp + 0x5b8], 0x80000000
jne 0x42f91e
lea ecx, [esp + 0x40]
call fcn.00433691
mov dword [esp + 0x40], 0x80000000
jmp 0x42f9ce
mov ecx, dword [esp + 0x5c0]
mov eax, dword [esp + 0x5bc]
and dword [esp + 0x5c0], 0
mov dword [esp + 0x2f4], ecx
shl ecx, 4
and dword [esp + 0x2f8], 0
mov dword [esp + 0x2e8], eax
add ecx, eax
cmp dword [esp + 0x40], 0x80000000
lea eax, [esp + 0x5b8]
mov dword [esp + 0x2ec], ecx
mov dword [esp + 0x2f0], eax
jne 0x42f97c
lea ecx, [esp + 0x2e8]
call fcn.0043b1b9
jmp 0x42f9ce
mov eax, dword [esp + 0x2f8]
movq xmm0, qword [esp + 0x2e8]
movq xmm1, qword [esp + 0x2f0]
mov dword [esp + 0xe0], eax
movq qword [esp + 0xd8], xmm1
movq qword [esp + 0xd0], xmm0
lea edi, [esp + 0x40]
lea edx, [esp + 0xd0]
mov ecx, edi
call fcn.0043b0f3
mov ecx, edi
call fcn.004375ee
lea edi, [esp + 0x460]
add esi, 4
lea ecx, [esp + 0x5b8]
call fcn.00433691
add ebx, 0xfffffffc
jmp 0x42f8e2
mov bl, 2
mov byte [esp + 0x84], 2
jmp 0x4302b1
mov ecx, dword [eax]
lock inc dword [ecx]
jle 0x432f8f
mov eax, dword [eax + 4]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov byte [esp + 0x84], bl
jmp 0x4302b1
test byte [esp], 1
je 0x42fa53
cmp dword [esp + 0x40], 0x80000000
je 0x43004b
lea ecx, [esp + 0x40]
mov eax, dword [ecx + 8]
mov dword [esp + 0x10], eax
call fcn.0044cddb
test eax, eax
je 0x42fa92
test edx, edx
jne 0x42fa92
lea ecx, [esp + 0x40]
call fcn.0044cdb0
jmp 0x43004b
cmp dword [esp + 0x40], 0x80000000
je 0x430042
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
cmp esi, 0x15
mov dword [esp + 0x18], eax
jae 0x42fb57
cmp esi, 1
jbe 0x430042
mov ecx, dword [esp + 0x18]
mov edx, esi
push 1
call fcn.0042e4d9
pop eax
jmp 0x430042
lea ecx, [esp + 0x40]
call fcn.0044cef0
cmp dword [esp + 0x40], 0x80000000
je 0x431306
mov edi, dword [esp + 0x48]
test edi, edi
je 0x431306
mov eax, dword [esp + 0x44]
shl edi, 4
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
add edi, eax
xor ebx, ebx
inc ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
xor ecx, ecx
mov dword [esp + 4], edx
test cl, 1
je 0x42faea
cmp eax, edi
je 0x43123b
lea ecx, [eax + 0x10]
mov dword [esp], ecx
jmp 0x42fb0a
mov esi, edi
mov ecx, ebx
sub esi, eax
shl ecx, 4
shr esi, 4
cmp esi, ebx
lea esi, [eax + ecx + 0x10]
cmovbe esi, edi
jbe 0x43123b
mov dword [esp], esi
add eax, ecx
mov esi, dword [eax + 4]
mov edi, dword [eax + 8]
mov ecx, edx
mov edx, dword [esp + 0xc]
push 0x4b7984
push dword [esp + 8]
call fcn.0044f7a0
pop ecx
pop ecx
cmp edi, edx
cmovb edx, edi
mov edi, dword [esp + 8]
xor ecx, ecx
cmp edx, ecx
je 0x42fb42
mov bl, byte [esi + ecx]
cmp bl, byte [eax + ecx]
jne 0x42fb40
inc ecx
jmp 0x42fb31
mov edx, ecx
mov eax, dword [esp]
xor ebx, ebx
mov cl, 1
test edx, edx
jne 0x42fad5
mov eax, str.combase.dll
jmp 0x43125b
mov ecx, esi
shr ecx, 1
mov dword [esp + 0x6c], ecx
shl ecx, 4
mov al, byte [0x52314c]
push 4
pop edx
call fcn.00404a60
test eax, eax
mov dword [esp + 0xc], eax
je 0x432ee4
push 0x10
pop ecx
mov dword [esp + 8], ecx
call fcn.0044fa85
test eax, eax
je 0x432efc
mov ebx, eax
mov eax, dword [esp + 0x18]
xor edi, edi
mov dword [esp + 0x20], esi
add eax, 0x10
mov dword [esp + 0x78], eax
xor eax, eax
mov edx, esi
mov dword [esp + 4], eax
sub edx, eax
jbe 0x43002a
cmp edx, 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], edi
jb 0x42fd2a
mov esi, dword [esp + 4]
mov eax, dword [esp + 0x18]
mov dword [esp], edx
shl esi, 4
lea edx, [eax + esi]
lea ecx, [edx + 0x10]
call fcn.0042e5d2
test al, al
je 0x42fc03
add esi, dword [esp + 0x78]
push 2
pop ebx
mov eax, dword [esp]
cmp eax, ebx
je 0x42fc30
lea edi, [esi + 0x10]
mov ecx, edi
mov edx, esi
call fcn.0042e5d2
test al, al
je 0x42fc2e
inc ebx
mov esi, edi
jmp 0x42fbe7
add esi, dword [esp + 0x78]
push 2
pop ebx
mov edx, dword [esp]
cmp edx, ebx
je 0x42fd26
lea edi, [esi + 0x10]
mov ecx, edi
mov edx, esi
call fcn.0042e5d2
test al, al
jne 0x42fd24
inc ebx
mov esi, edi
jmp 0x42fc0a
mov eax, ebx
mov ecx, dword [esp + 4]
mov dword [esp], eax
lea edx, [eax + ecx]
mov dword [esp + 0x24], edx
push 0x502754
push dword [esp + 0x24]
push dword [esp + 0x20]
call fcn.0042e4a6
add esp, 0xc
mov ebx, edx
mov edi, eax
shr ebx, 1
mov dword [esp + 0x14], edx
mov edx, ebx
xor ecx, ecx
push 0x4b8c08
push ebx
push eax
call fcn.0042e4a6
add esp, 0xc
mov esi, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x230], edx
shl eax, 4
add edi, eax
mov eax, edi
mov edi, ebx
shl edi, 4
sub eax, edi
mov edx, ebx
xor ecx, ecx
push 0x4b8c18
push ebx
push eax
call fcn.0042e4a6
add esp, 0xc
mov ecx, dword [esp + 0x230]
lea eax, [eax + edi - 0x10]
dec ebx
mov edi, ecx
cmp ebx, 0xffffffff
je 0x42fd13
sub edi, 1
jb 0x431441
cmp ebx, edx
jae 0x43144a
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
dec ebx
movsd qword [esp + 0xd8], xmm1
movsd qword [esp + 0xd0], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
add esi, 0x10
movq xmm0, qword [esp + 0xd0]
movq xmm1, qword [esp + 0xd8]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
add eax, 0xfffffff0
jmp 0x42fcac
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 4]
mov edx, dword [esp]
jmp 0x42fd31
mov edx, ebx
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 4]
lea eax, [edx + ecx]
cmp eax, ecx
jb 0x432e66
cmp eax, esi
ja 0x432e66
mov dword [esp + 0x24], eax
jae 0x42fd83
cmp edx, 9
ja 0x42fd83
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x20]
mov esi, edx
lea edx, [ecx + 0xa]
cmp edx, eax
cmovae edx, eax
mov dword [esp + 0x24], edx
push 0x502810
push eax
push dword [esp + 0x20]
call fcn.0042e4a6
add esp, 0xc
cmp esi, 1
adc esi, 0
mov ecx, eax
push esi
call fcn.0042e4d9
pop eax
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 8]
cmp edi, ebx
jne 0x42fdcc
lea ecx, [ebx + ebx]
mov dword [esp + 0x260], ecx
call fcn.0044fa85
mov edi, dword [esp + 0x1c]
test eax, eax
je 0x432ec1
shl ebx, 3
mov esi, eax
push ebx
push edi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, edi
push 4
pop edx
call fcn.00404ac0
mov edi, dword [esp + 0x10]
mov ebx, esi
jmp 0x42fdd7
mov dword [esp + 0x260], ebx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 4]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x1c], ebx
sub eax, ecx
mov dword [ebx + edi*8], eax
mov dword [ebx + edi*8 + 4], ecx
inc edi
cmp edi, 2
jb 0x430016
mov eax, dword [ebx + edi*8 - 8]
mov ecx, dword [ebx + edi*8 - 4]
add ecx, eax
cmp ecx, esi
je 0x42fe45
mov edx, dword [ebx + edi*8 - 0x10]
cmp edx, eax
jbe 0x42fe45
cmp edi, 2
jbe 0x430016
lea ecx, [edi - 3]
lea esi, [edx + eax]
mov dword [esp + 8], ecx
mov ecx, dword [ebx + edi*8 - 0x18]
cmp ecx, esi
jbe 0x42fe55
mov esi, dword [esp + 0x20]
cmp edi, 3
jbe 0x430016
add edx, ecx
cmp dword [ebx + edi*8 - 0x20], edx
jbe 0x42fe55
jmp 0x430016
cmp edi, 3
jb 0x42fe5d
lea ecx, [edi - 3]
mov dword [esp + 8], ecx
mov ecx, dword [ebx + edi*8 - 0x18]
cmp ecx, eax
mov eax, dword [esp + 8]
jb 0x42fe60
lea eax, [edi - 2]
mov ecx, ebx
mov edx, edi
mov dword [esp + 0x10], edi
push 0x502764
mov dword [esp + 0xc], eax
push eax
call fcn.0044e52a
pop ecx
pop edx
mov ecx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [esp + 8]
inc eax
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x10]
mov ecx, ebx
push 0x502774
mov dword [esp + 0x234], eax
push eax
call fcn.0044e52a
pop ecx
pop edx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add edx, ecx
mov dword [esp + 0x38], ecx
mov ecx, esi
push 0x502784
push dword [esp + 0x24]
push dword [esp + 0x20]
call fcn.0042e4a6
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], esi
mov edi, edx
mov esi, ecx
sub edx, ecx
shl esi, 4
cmp edx, ecx
lea ebx, [eax + esi]
jae 0x42ff48
shl edx, 4
push edx
push ebx
push dword [esp + 0x14]
mov dword [esp + 0xc], eax
mov esi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
add esi, dword [esp + 0xc]
shl edi, 4
lea edi, [eax + edi - 0x10]
cmp ebx, dword [esp]
jbe 0x42ffb1
cmp esi, dword [esp + 0xc]
jbe 0x42ffb1
lea ecx, [esi - 0x10]
lea edx, [ebx - 0x10]
call fcn.0042e5d2
movzx ecx, al
shl ecx, 4
lea esi, [esi + ecx - 0x10]
sub ebx, ecx
test al, al
mov eax, esi
cmovne eax, ebx
movq xmm0, qword [eax]
movq xmm1, qword [eax + 8]
movq qword [edi], xmm0
movq qword [edi + 8], xmm1
add edi, 0xfffffff0
jmp 0x42ff00
shl edi, 4
mov ecx, eax
add eax, edi
mov dword [esp], eax
push esi
mov dword [esp + 8], ecx
push ecx
mov edi, dword [esp + 0x14]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
add esi, edi
cmp edi, esi
jae 0x42ffb7
cmp ebx, dword [esp]
jae 0x42ffb7
mov ecx, ebx
mov edx, edi
call fcn.0042e5d2
test al, al
mov ecx, edi
movzx edx, al
cmovne ecx, ebx
xor al, 1
shl edx, 4
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov ecx, dword [esp + 4]
movzx eax, al
add ebx, edx
shl eax, 4
add edi, eax
movq qword [ecx], xmm0
movq qword [ecx + 8], xmm1
add ecx, 0x10
mov dword [esp + 4], ecx
jmp 0x42ff67
mov edi, dword [esp + 0xc]
jmp 0x42ffbb
mov ebx, dword [esp + 4]
sub esi, edi
push esi
push edi
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
cmp edi, dword [esp + 0x230]
jbe 0x432df2
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 8]
add ecx, dword [esp + 0x14]
lea eax, [ebx + edx*8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0xc], ecx
lea ecx, [ebx + edx*8 + 8]
not edx
add edx, edi
shl edx, 3
push edx
push ecx
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
mov esi, dword [esp + 0x20]
dec edi
jmp 0x42fdf1
mov eax, dword [esp + 0x260]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
jmp 0x42fba4
mov edx, dword [esp + 8]
mov ecx, ebx
call fcn.00437f7d
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x6c]
call fcn.00426939
lea ecx, [esp + 0x40]
call fcn.004375ee
mov eax, dword [esp + 0x48]
movq xmm0, qword [esp + 0x40]
mov dword [esp], eax
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x68]
movq qword [esp + 0x240], xmm0
mov ebx, dword [esp + 0x240]
mov edi, dword [esp + 0x244]
mov cl, byte [eax + 0x3e]
cmp cl, 2
setne al
test cl, 1
sete cl
xor edx, edx
cmp ebx, 0x80000000
cmovne edx, edi
je 0x4300f3
and al, cl
mov ecx, dword [esp]
mov esi, edi
shl ecx, 4
test ecx, ecx
je 0x4300b2
add ecx, 0xfffffff0
cmp byte [esi + 0xc], 0
lea esi, [esi + 0x10]
jne 0x4300a0
jmp 0x4300f3
mov ecx, dword [esp + 0x68]
cmp dword [ecx + 0x50], 1
jne 0x4300f3
mov ecx, dword [esp + 0x68]
mov ecx, dword [ecx + 0x4c]
mov ecx, dword [ecx]
cmp dword [ecx + 0x2c], 0
jne 0x4300f3
cmp dword [ecx + 0x18], 0
setne cl
or al, cl
jne 0x4300f3
lea esi, [esp + 0xd0]
mov ecx, esi
push dword [esp]
call fcn.00433571
pop eax
mov dl, byte [esi]
cmp dl, 9
jne 0x431465
lea ecx, [esp + 0x460]
and dword [ecx], 0
call fcn.004336ba
lea ecx, [esp + 0xd0]
and dword [ecx], 0
call fcn.004336ba
cmp ebx, 0x80000000
je 0x430133
lea ebx, [esp + 0xd0]
mov edx, edi
mov ecx, ebx
push dword [esp]
call fcn.00433571
pop eax
mov al, byte [ebx]
cmp al, 9
jne 0x430142
mov bl, 2
mov byte [esp + 0x84], 2
jmp 0x4302a5
add al, 0xfe
cmp al, 7
movzx eax, al
push 5
pop ecx
cmovb ecx, eax
movzx eax, cl
mov eax, dword [eax*4 + 0x4333f0]
add eax, dword [esp + 0x70]
jmp eax
lea ecx, [esp + 0x240]
call fcn.00433691
mov eax, dword [esp + 0x68]
lock inc dword [eax]
jle 0x432f8f
cmp bl, 2
mov byte [esp + 0x20], bl
jne 0x4302d1
mov byte [esp + 0x90], 2
jmp 0x4302fe
mov ecx, dword [esp + 0x7c]
lock inc dword [ecx]
jle 0x432f8f
mov eax, dword [esp + 0x80]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x8c], eax
mov byte [esp + 0x90], bl
mov eax, dword [esp + 0x68]
mov dword [esp + 0xbc], eax
mov cl, byte [eax + 0x3c]
mov bl, byte [eax + 0x3d]
mov edi, dword [eax + 0x10]
mov esi, dword [eax + 0x14]
mov bh, byte [eax + 0x46]
mov byte [esp + 4], cl
mov cl, byte [eax + 0x3f]
mov byte [esp], cl
lea ecx, [esp + 0x5b8]
call fcn.004336ca
xor ecx, ecx
cmp bh, 3
movzx eax, bh
cmove eax, ecx
xor edx, edx
mov ecx, 0xa00000
inc edx
cmp edi, 2
cmove esi, ecx
mov cl, byte [esp + 0x5c3]
cmove edi, edx
cmp byte [esp + 4], 0
movzx edx, bl
mov dword [esp + 0x5b8], edi
mov dword [esp + 0x5bc], esi
push 0xa
pop esi
cmove edx, esi
cmp byte [esp], 0
mov edi, dword [ebp + 0xc]
mov byte [esp + 0x5c0], 1
mov byte [esp + 0x5c1], dl
setne byte [esp + 0x5c2]
test edi, edi
mov byte [esp + 0x5c4], 0
mov byte [esp + 0x5c5], al
js 0x4303af
test cl, 1
je 0x4303be
cmp al, 2
je 0x4303be
push 0x29
pop ebx
jmp 0x4315c1
push 0x25
pop ebx
mov dword [esp], 0x7fffffff
jmp 0x4315c1
lea ecx, [esp + 0x5d8]
mov edx, 0x4b4768
call fcn.00453de3
and dword [eax], 0
mov ebx, edx
mov edi, eax
mov edx, dword [eax + 0x18]
mov ecx, dword [eax + 0x14]
and dword [eax + 0x18], 0
call fcn.0042eb5b
and dword [edi + 0x24], 0
mov edx, dword [edi + 0x30]
mov ecx, dword [edi + 0x2c]
and dword [edi + 0x30], 0
call fcn.0042746b
and dword [edi + 0x34], 0
inc dword [ebx]
lea ecx, [esp + 0x5d8]
mov edx, 0x4b4778
call fcn.00453de3
cmp byte [esp + 0x5c2], 0
setne byte [eax + 0x38]
inc dword [edx]
lea ecx, [esp + 0x5d8]
mov edx, 0x4b4788
call fcn.00453de3
mov cl, byte [esp + 0x5c3]
and cl, 1
mov byte [eax + 0x39], cl
inc dword [edx]
lea ecx, [esp + 0x5d8]
mov edx, 0x4b4798
call fcn.00453de3
cmp byte [esp + 0x5c0], 0
movzx ecx, byte [esp + 0x5c1]
cmove ecx, esi
mov byte [eax + 0x3a], cl
inc dword [edx]
lea ecx, [esp + 0x5d8]
mov edx, 0x4b47a8
call fcn.00453de3
mov ecx, dword [esp + 0x5b8]
mov edi, edx
mov edx, dword [esp + 0x5bc]
xor esi, esi
cmp ecx, 2
cmove ecx, esi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea ebx, [esp + 0xd0]
mov edx, eax
mov ecx, ebx
call fcn.00429850
mov ebx, dword [ebx]
cmp ebx, 0x2a
jne 0x43056f
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
inc dword [edi]
lea ebx, [edx + ecx*4]
shl ecx, 2
cmp ecx, esi
je 0x430607
mov eax, dword [edx + esi]
add esi, 4
mov eax, dword [eax + 0x18]
test byte [eax + 0x1c], 1
jne 0x4304be
lea ecx, [esp + 0x40]
call fcn.004458d7
xor edx, edx
lea ecx, [esp + 0x40]
push 0xff
call fcn.004458f8
pop eax
movq xmm0, qword [esp + 0x40]
movq xmm1, qword [esp + 0x48]
lea edx, [esp + 0x460]
movq qword [edx + 0xc], xmm1
movq qword [edx + 4], xmm0
mov dword [edx], 1
lea edi, [esp + 0x2e8]
mov ecx, edi
call fcn.00426468
mov esi, ebx
lea edx, [esp + 0x5b8]
lea ecx, [esp + 0xd0]
push 0
push 0
push edi
call fcn.0042c6f8
add esp, 0xc
mov ebx, dword [esp + 0xd0]
cmp ebx, 0x2a
jne 0x4306f2
mov eax, dword [esp + 0xd8]
mov edi, dword [esp + 0xd4]
mov dword [esp], eax
lea ecx, [esp + 0x2e8]
call fcn.004265b1
jmp 0x43063d
movsd xmm0, qword [esp + 0xe8]
mov esi, dword [esp + 0xdc]
mov edx, dword [esp + 0x10c]
mov ecx, dword [esp + 0xd4]
mov eax, dword [esp + 0xd8]
movsd qword [esp + 0xc0], xmm0
movsd xmm0, qword [esp + 0xf0]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xe0]
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0xe4]
mov dword [esp], eax
movsd qword [esp + 0xc8], xmm0
movsd xmm0, qword [esp + 0xfc]
mov dword [esp + 8], esi
mov esi, dword [esp + 0xf8]
mov dword [esp + 0xc], edx
movsd qword [esp + 0xa0], xmm0
movq xmm0, qword [esp + 0x104]
movq qword [esp + 0xa8], xmm0
inc dword [edi]
mov edi, ecx
jmp 0x4315c1
lea ecx, [esp + 0xd0]
lea edx, [esp + 0x5b8]
call fcn.0042c570
mov esi, ebx
mov ebx, dword [esp + 0xd0]
cmp ebx, 0x2a
jne 0x430ae0
mov eax, dword [esp + 0xd8]
mov edi, dword [esp + 0xd4]
mov dword [esp], eax
mov eax, dword [ebp + 8]
lea edx, [esp + 0x240]
mov dword [edx], eax
mov dword [edx + 4], esi
lea esi, [esp + 0x5b8]
mov dword [edx + 8], esi
lea ecx, [esp + 0xd0]
call fcn.00436183
mov ebx, dword [esp + 0xd0]
cmp ebx, 0x2b
jne 0x43068d
lea ecx, [esp + 0x460]
lea edx, [esp + 0x5b8]
call fcn.0042e005
mov ebx, dword [esp + 0x460]
jmp 0x4309a6
mov eax, dword [esp + 0xd4]
mov edx, dword [esp + 0xd8]
cmp ebx, 0x2a
jne 0x430979
mov esi, eax
mov dword [esp + 4], edx
lea ecx, [esp + 0xd0]
lea edx, [esp + 0x240]
call fcn.00436183
mov ebx, dword [esp + 0xd0]
cmp ebx, 0x2b
jne 0x430792
mov eax, dword [esp + 4]
mov dword [esp + 0x464], esi
mov dword [esp + 0x468], eax
mov dword [esp + 0x460], 0x2a
push 0x2a
pop ebx
jmp 0x4309a6
movsd xmm0, qword [esp + 0xe8]
mov esi, dword [esp + 0xdc]
mov edx, dword [esp + 0xe0]
mov eax, dword [esp + 0xd8]
mov edi, dword [esp + 0xd4]
movsd qword [esp + 0xc0], xmm0
movsd xmm0, qword [esp + 0xf0]
mov dword [esp + 4], esi
mov esi, dword [esp + 0x10c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0xe4]
mov dword [esp], eax
movsd qword [esp + 0xc8], xmm0
movsd xmm0, qword [esp + 0xfc]
mov dword [esp + 0xb0], esi
mov esi, dword [esp + 0xf8]
mov dword [esp + 0xc], edx
movsd qword [esp + 0xa0], xmm0
movq xmm0, qword [esp + 0x104]
movq qword [esp + 0xa8], xmm0
lea ecx, [esp + 0x2e8]
call fcn.004265b1
jmp 0x4315c1
mov eax, dword [esp + 0xd4]
mov edx, dword [esp + 0xd8]
cmp ebx, 0x2a
jne 0x430979
mov dword [esp + 8], eax
mov dword [esp + 0x10], edx
lea ecx, [esp + 0xd0]
lea edx, [esp + 0x5b8]
call fcn.0042c683
mov ebx, dword [esp + 0xd0]
cmp ebx, 0x2a
jne 0x43121b
lea ecx, [esp + 0xd0]
mov eax, dword [ecx + 4]
mov dword [esp + 0xc], eax
lea edx, [esp + 0x5b8]
call fcn.0042c6cb
mov ebx, dword [esp + 0xd0]
cmp ebx, 0x2a
jne 0x43121b
lea ecx, [esp + 0xd0]
mov eax, dword [ecx + 4]
mov dword [esp + 0x14], eax
lea edx, [esp + 0x5b8]
push esi
push dword [esp + 0x10]
call fcn.004296fd
pop eax
pop ecx
mov ebx, dword [esp + 0xd0]
cmp ebx, 0x2a
jne 0x43151f
lea edx, [esp + 0x5b8]
lea ecx, [esp + 0xd0]
push dword [esp + 0x14]
push dword [esp + 8]
call fcn.004296fd
pop eax
pop ecx
mov ebx, dword [esp + 0xd0]
cmp ebx, 0x2a
jne 0x43151f
lea edx, [esp + 0x5b8]
lea ecx, [esp + 0xd0]
push dword [esp + 8]
push dword [esp + 0x10]
call fcn.004296fd
pop eax
pop ecx
mov ebx, dword [esp + 0xd0]
cmp ebx, 0x2a
jne 0x43151f
lea edx, [esp + 0x5b8]
lea ecx, [esp + 0xd0]
push dword [esp + 0x14]
push dword [esp + 0x14]
call fcn.004296fd
pop eax
pop ecx
mov ebx, dword [esp + 0xd0]
mov dword [esp + 4], edi
cmp ebx, 0x2a
jne 0x43151f
mov eax, dword [esp + 0x248]
movq xmm0, qword [esp + 0x240]
lea ecx, [esp + 0x40]
lea edi, [esp + 0x5b8]
mov esi, ecx
mov dword [ecx + 8], eax
movq qword [ecx], xmm0
lea ecx, [esp + 0x2e8]
mov edx, esi
call fcn.00436183
mov ebx, dword [esp + 0x2e8]
cmp ebx, 0x2b
je 0x432dbe
mov ecx, dword [esp + 0x2f0]
mov eax, dword [esp + 0x2ec]
cmp ebx, 0x2a
mov dword [esp + 8], ecx
jne 0x432dcb
mov edx, edi
lea ecx, [esp + 0xd0]
push eax
push dword [esp + 0x10]
call fcn.004296fd
pop eax
pop ecx
mov ebx, dword [esp + 0xd0]
cmp ebx, 0x2a
jne 0x43095c
mov edx, edi
lea ecx, [esp + 0xd0]
push dword [esp + 0x14]
push dword [esp + 0xc]
call fcn.004296fd
pop eax
pop ecx
mov ebx, dword [esp + 0xd0]
cmp ebx, 0x2a
je 0x4308de
lea esi, [esp + 0xd4]
lea eax, [esp + 0x464]
push 0xf
pop ecx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov dword [eax - 4], ebx
jmp 0x431532
lea esi, [esp + 0x46c]
push 0xd
pop ecx
mov dword [esp + 4], edi
mov edi, esi
lea esi, [esp + 0xdc]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x46c]
mov edi, dword [esp + 4]
mov dword [ecx - 0xc], ebx
mov dword [ecx - 8], eax
mov dword [ecx - 4], edx
cmp ebx, 0x2a
jne 0x431532
mov esi, dword [esp + 0x464]
lea edx, [esp + 0x5b8]
lea ecx, [esp + 0xd0]
mov dword [esp + 0xc], esi
push esi
push dword [esp + 4]
call fcn.004296fd
pop eax
pop ecx
mov ebx, dword [esp + 0xd0]
cmp ebx, 0x2a
jne 0x430ae0
lea ecx, [esp + 0x5d8]
mov edx, 0x4b47b8
call fcn.00453de3
mov dword [esp + 0xb4], edx
cmp dword [eax], 0
mov dword [esp + 4], edi
mov dword [esp + 0x74], eax
jne 0x432f11
and dword [esp + 0x2e8], 0
push 4
pop eax
lea esi, [esp + 0xd0]
mov dword [esp + 0x2ec], eax
and dword [esp + 0x2f0], 0
and dword [esi], 0
mov dword [esi + 4], eax
and dword [esi + 8], 0
and dword [esi + 0xc], 0
mov dword [esi + 0x10], 8
and dword [esi + 0x14], 0
and dword [esi + 0x18], 0
mov dword [esi + 0x1c], eax
and dword [esi + 0x20], 0
and dword [esi + 0x24], 0
mov ecx, esi
call fcn.0042eb11
and dword [esp + 0x564], 0
and dword [esp + 0x560], 0
and dword [esp + 0x56c], 0
and dword [esp + 0x568], 0
and dword [esp + 0x574], 0
and dword [esp + 0x570], 0
and dword [esp + 0x57c], 0
and dword [esp + 0x578], 0
mov edi, eax
mov eax, 0x100
push eax
push 0
push esi
call sub.msvcrt.dll_memset
add esp, 0xc
xor eax, eax
mov ecx, 0xff
xor edx, edx
test al, al
jne 0x430b6b
movzx ebx, dl
movzx eax, al
mov byte [esp + ebx + 0xd0], dl
inc dl
mov ebx, 1
movzx edx, dl
cmove eax, ebx
cmove edx, ecx
jmp 0x430ab9
movsd xmm0, qword [esp + 0xe8]
mov edx, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov eax, dword [esp + 0xd8]
mov edi, dword [esp + 0xd4]
mov esi, dword [esp + 0xf8]
movsd qword [esp + 0xc0], xmm0
movsd xmm0, qword [esp + 0xf0]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x10c]
mov ecx, dword [esp + 0xe4]
mov dword [esp], eax
movsd qword [esp + 0xc8], xmm0
movsd xmm0, qword [esp + 0xfc]
mov dword [esp + 0xb0], edx
mov dword [esp + 0xc], ecx
movsd qword [esp + 0xa0], xmm0
movq xmm0, qword [esp + 0x104]
jmp 0x4315b8
lea ebx, [esp + 0x460]
push 0x100
push esi
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
movq xmm0, qword [esp + 0x2e8]
mov eax, dword [esp + 0x2f0]
movq qword [ebx + 0x138], xmm0
mov dword [ebx + 0x140], eax
and dword [ebx + 0x120], 0
and dword [ebx + 0x124], 0
and dword [ebx + 0x144], 0
push 4
pop edx
mov esi, dword [esp + 0x74]
mov dword [ebx + 0x148], edx
and dword [ebx + 0x14c], 0
mov dword [ebx + 0x134], edi
and dword [ebx + 0x151], 0
and dword [ebx + 0x128], 0
and dword [ebx + 0x12c], 0
and dword [ebx + 0x130], 0
lea ecx, [esp + 0x2c]
mov al, byte [esi + 0x38]
mov byte [ebx + 0x153], al
mov al, byte [esi + 0x39]
mov byte [ebx + 0x154], al
mov al, byte [esi + 0x3a]
and dword [esp + 0x94], 0
mov dword [esp + 0x98], edx
and dword [ecx], 0
mov dword [ecx + 4], edx
and dword [esp + 0x9c], 0
and dword [ecx + 8], 0
mov byte [ebx + 0x150], al
mov edx, dword [esi + 0x18]
mov dword [esp + 0x28], edx
call fcn.0042e6e8
mov ecx, dword [esp + 0xc]
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
mov dword [esp + 0x580], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x584], ecx
lea ecx, [esp + 0xd0]
push eax
call fcn.00435943
pop eax
lea ebx, [esp + 0x5a4]
mov dword [esp + 0x258], 0
xor ecx, ecx
push 4
pop edi
mov edx, edi
call fcn.004269d8
lea ecx, [esp + 0xd0]
mov eax, dword [ecx + 8]
movq xmm0, qword [ecx]
mov dword [ebx + 8], eax
movq qword [ebx], xmm0
lea eax, [esp + 0x5c]
mov edx, dword [esi + 0x2c]
imul ebx, dword [esi + 0x30], 0xc
and dword [ecx], 0
mov dword [ecx + 4], edi
and dword [ecx + 8], 0
and dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 8
and dword [ecx + 0x14], 0
and dword [ecx + 0x18], 0
mov dword [ecx + 0x1c], edi
and dword [ecx + 0x20], 0
and dword [ecx + 0x24], 0
mov dword [esp + 0x280], eax
lea eax, [esp + 0x2e8]
xor esi, esi
mov dword [esp + 0x284], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x27c], eax
add ebx, edx
mov dword [esp + 0x288], ebx
cmp edx, ebx
je 0x4316ed
mov ebx, dword [edx + 8]
mov edi, edx
test ebx, ebx
je 0x431f85
mov eax, dword [edi + 4]
cmp dword [eax], 0
mov dword [esp + 0x14], eax
jne 0x431f96
lea ecx, [esp + 0xd0]
mov edx, esi
call fcn.00435fab
mov eax, dword [esp + 0x14]
add edi, 0xc
mov dword [esp + 0x10], esi
mov dword [esp + 0x290], edi
lea eax, [eax + ebx*8]
mov dword [esp + 0x78], eax
lea eax, [esi + 1]
mov dword [esp + 0x28c], eax
xor eax, eax
inc eax
mov ebx, eax
mov eax, dword [esp + 0x14]
add eax, 8
cmp eax, dword [esp + 0x78]
je 0x43114c
mov edx, dword [eax]
mov edi, dword [esp + 0xd8]
mov dword [esp + 0x14], eax
mov ecx, esi
test edx, edx
cmove eax, edx
cmp edi, esi
jbe 0x4322e2
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0xd4]
mov esi, dword [ebx + ecx*8 + 4]
add esi, 2
cmp esi, 0x7ffffffe
ja 0x431166
mov dword [esp], edi
mov edi, dword [esp + 8]
test edx, edx
mov dword [ebx + ecx*8 + 4], esi
lea edi, [edi + 1]
mov dword [esp + 0x38], edi
je 0x431007
mov edi, dword [eax]
mov esi, dword [eax + 4]
mov ecx, esi
call fcn.00429a5c
mov ecx, eax
mov ebx, edx
add edi, 8
add ecx, 8
push esi
push edi
mov dword [esp + 0xc], ecx
push ecx
mov dword [esp + 0x48], eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0xe4]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
cmp edx, esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ebx
jbe 0x432b08
mov eax, dword [esp + 0xe0]
mov ecx, esi
mov edi, ebx
shl ecx, 5
mov dword [esp + 0x24], edi
cmp dword [eax + ecx + 0xc], 0
lea ebx, [eax + ecx]
je 0x430e4e
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
push edi
push dword [esp + 8]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
call fcn.0042e204
add esp, 0x10
mov dword [esp], edx
mov ecx, ebx
mov edx, eax
push edi
push dword [esp + 8]
push dword [esp + 8]
call fcn.0042ec94
add esp, 0xc
test eax, eax
jne 0x43110a
mov eax, dword [esp + 0x3c]
lock inc dword [eax]
jle 0x432f8f
mov esi, dword [esp + 0x44]
mov dword [esp + 0x2e8], eax
mov dword [esp + 0x2ec], esi
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
mov dword [esp + 0xc], esi
push esi
push eax
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
call fcn.0042e3d8
add esp, 0x10
cmp dword [ebx + 8], 0
mov esi, eax
jne 0x430e99
lea edx, [ebx + 0x10]
mov ecx, ebx
call fcn.0042ed97
mov eax, ebx
mov ebx, dword [ebx]
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov edi, dword [eax + 4]
mov dword [esp + 0x29c], eax
mov dword [esp], edi
and edi, esi
shr esi, 0x19
movd xmm0, esi
mov dword [esp + 0x298], esi
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x260], xmm0
movdqu xmm1, xmmword [ebx + edi]
pcmpeqb xmm0, xmm1
movdqa xmmword [esp + 0x230], xmm1
pmovmskb eax, xmm0
mov word [esp + 0x5c], ax
lea ecx, [esp + 0x5c]
call fcn.0042157d
test eax, eax
je 0x430f34
add edx, edi
and edx, dword [esp]
neg edx
imul esi, edx, 0xc
mov eax, dword [ebx + esi - 0xc]
add eax, 8
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
push dword [ebx + esi - 8]
push eax
call fcn.0048deef
pop ecx
pop edx
test al, al
je 0x430efc
jmp 0x430f9b
cmp dword [esp + 0x1c], 1
mov eax, 1
je 0x430f5a
mov ecx, dword [esp]
movdqa xmm0, xmmword [esp + 0x230]
mov edx, edi
call fcn.00421760
mov dword [esp + 0x294], edx
movdqa xmm1, xmmword [esp + 0x230]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x4310a4
mov ecx, dword [esp + 0x18]
movdqa xmm0, xmmword [esp + 0x260]
mov dword [esp + 0x1c], eax
lea edi, [ecx + edi + 0x10]
add ecx, 0x10
and edi, dword [esp]
mov dword [esp + 0x18], ecx
jmp 0x430ee1
mov eax, dword [esp + 8]
add ebx, esi
mov dword [ebx - 4], eax
lea ecx, [esp + 0x2e8]
call fcn.0041d7b0
mov edi, dword [esp + 0xec]
mov esi, dword [esp + 0xf0]
mov edx, esi
mov ecx, edi
push 0x4b5588
push dword [esp + 0x14]
call fcn.0042e136
pop ecx
pop edx
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
mov ecx, eax
push dword [esp + 0xc]
call fcn.0042e153
pop eax
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0xf4]
mov ecx, edi
mov edi, dword [esp + 0xd8]
lea eax, [eax + edx*2 + 0x14]
mov dword [esp + 0xf4], eax
jmp 0x431046
mov edi, dword [esp + 0xec]
mov esi, dword [esp + 0xf0]
mov eax, ecx
mov edx, esi
mov ecx, edi
push 0x4b5598
push eax
call fcn.0042e136
pop ecx
pop edx
mov ebx, dword [esp + 0x38]
sub esp, 4
mov ecx, eax
xor edx, edx
call fcn.0042e153
pop eax
mov ecx, edi
add dword [esp + 0xf4], 8
mov edi, dword [esp]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x5c], ebx
cmp edi, eax
jbe 0x432e8d
mov edi, eax
mov eax, dword [esp + 0xd4]
mov edx, dword [eax + edi*8 + 4]
sub edx, dword [eax + edi*8]
shr edx, 1
cmp dword [esp + 8], edx
lea eax, [edx + 1]
mov dword [esp + 0x40], eax
jne 0x432e92
mov dword [esp + 0x5c], ebx
mov edx, esi
push 0x4b55b8
push edi
call fcn.0042e136
pop ecx
pop edx
mov eax, dword [eax + 8]
cmp ebx, eax
mov dword [esp + 0x40], eax
jne 0x432e7e
mov esi, dword [esp + 0x10]
jmp 0x430d4c
mov esi, dword [esp + 0x294]
mov al, byte [ebx + esi]
test al, al
js 0x4310c0
movdqa xmm0, xmmword [ebx]
pmovmskb eax, xmm0
bsf esi, eax
mov al, byte [ebx + esi]
mov ecx, dword [esp + 0x29c]
mov edx, dword [esp]
and al, 1
movzx eax, al
sub dword [ecx + 8], eax
lea eax, [esi - 0x10]
and edx, eax
mov eax, dword [esp + 0x298]
mov byte [ebx + esi], al
mov byte [edx + ebx + 0x10], al
mov edx, dword [esp + 0x3c]
neg esi
inc dword [ecx + 0xc]
imul eax, esi, 0xc
mov esi, dword [esp + 0xc]
mov dword [ebx + eax - 0xc], edx
mov edx, dword [esp + 8]
mov dword [ebx + eax - 8], esi
mov dword [ebx + eax - 4], edx
jmp 0x430fb0
mov ecx, edi
call fcn.0044dd36
mov ebx, eax
mov eax, edi
push eax
push dword [esp + 8]
push edx
mov dword [esp + 0x10], edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x40]
call fcn.0041d7b0
mov eax, dword [esp + 0x38]
cmp ebx, 0x80000004
mov dword [esp + 0x258], esi
je 0x430d4a
jmp 0x432af4
mov esi, dword [esp + 0x28c]
mov edx, dword [esp + 0x290]
mov ebx, dword [esp + 0x288]
jmp 0x430cf1
mov eax, dword [esp + 0x258]
mov dword [esp], 0x80000001
mov dword [esp + 4], ecx
mov dword [esp + 0xc], eax
lea ecx, [esp + 0xd0]
call fcn.00428d18
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
call fcn.004269d8
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
call fcn.004203d7
lea ecx, [esp + 0x460]
call fcn.00428c6e
movsd xmm0, qword [esp + 0x6a8]
movsd xmm1, qword [esp + 0x6b0]
mov eax, dword [esp + 0x250]
mov ecx, dword [esp + 0xb4]
movsd qword [esp + 0xc0], xmm0
movsd qword [esp + 0xc8], xmm1
movq xmm0, qword [esp + 0x240]
movq xmm1, qword [esp + 0x248]
mov dword [esp + 0xb0], eax
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
inc dword [ecx]
push 0x23
pop ebx
jmp 0x4303aa
lea esi, [esp + 0xd8]
lea eax, [esp + 0x468]
mov edx, dword [esi - 4]
push 0xe
pop ecx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov dword [eax - 4], edx
jmp 0x431532
mov ecx, edx
mov edx, dword [esp + 0xc]
push 0x4b7974
push dword [esp + 8]
call fcn.0044f7a0
pop ecx
pop ecx
test eax, eax
je 0x431306
mov ebx, edx
cmp dword [esp + 0x10], 2
jb 0x43128b
lea ecx, [ebx - 1]
cmp ecx, 3
jae 0x43128b
movzx eax, byte [eax]
cmp byte [eax + str.743210_._g], 0xc7
ja 0x43128b
xor edx, edx
lea esi, [esp + 0x40]
inc edx
mov ecx, esi
call fcn.0044ce57
mov ecx, esi
jmp 0x430046
lea ecx, [esp + 0x40]
call fcn.0044d0b4
test al, al
je 0x4312af
cmp dword [esp + 0x40], 0x80000000
setne cl
cmp dword [esp + 0x48], 0x11
setb al
and al, cl
jmp 0x4312b1
xor eax, eax
cmp ebx, 2
setb cl
cmp ebx, 4
ja 0x4312c0
or cl, al
jne 0x431306
lea esi, [esp + 0x40]
mov edx, ebx
mov ecx, esi
call fcn.0044ce57
mov ecx, esi
call fcn.004375ee
xor eax, eax
cmp dword [esi], 0x80000000
mov edi, dword [esi + 8]
setne al
mov dword [esp + 0x2e8], eax
mov dword [esp + 0x2ec], edi
xor ecx, ecx
inc ecx
mov edx, ecx
push edi
push eax
call fcn.0043bdd2
pop ecx
pop edx
test al, al
je 0x432f55
lea ecx, [esp + 0x40]
call fcn.0044d0b4
test al, al
je 0x431325
lea ecx, [esp + 0x2e8]
lea edx, [esp + 0x40]
call fcn.0044c7a0
jmp 0x431330
mov dword [esp + 0x2e8], 0x80000001
push 0xa
pop ecx
lea edi, [esp + 0xd0]
mov esi, 0x4b79a4
rep movsd dword es:[edi], dword [esi]
push 0xffffffffffffffd8
pop esi
lea edi, [esp + 0x40]
test esi, esi
je 0x431388
mov eax, dword [esp + 0x40]
cmp eax, 0x80000000
je 0x43138c
mov ecx, dword [esp + esi + 0xfc]
cmp dword [esp + 0x48], ecx
jbe 0x43138c
mov edx, dword [esp + esi + 0xf8]
mov ecx, edi
call fcn.0044ce57
cmp dword [esp + 0x40], 0x80000000
je 0x431383
mov ecx, edi
call fcn.0044cef0
add esi, 8
jmp 0x431348
mov eax, dword [esp + 0x40]
cmp eax, 0x80000000
je 0x4313d5
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
lea edx, [eax + 4]
shl ecx, 4
test ecx, ecx
je 0x4313d5
mov esi, dword [eax + 8]
cmp esi, 1
je 0x4313b3
test esi, esi
jne 0x4313c1
jmp 0x4313cc
mov esi, dword [edx]
movzx esi, byte [esi]
cmp byte [esi + str.743210_._g], 0xf9
ja 0x4313cc
add eax, 0x10
add edx, 0x10
add ecx, 0xfffffff0
jmp 0x4313a1
lea ecx, [esp + 0x40]
call fcn.0044cdb0
cmp dword [esp + 0x2e8], 0x80000001
je 0x43004b
cmp dword [esp + 0x40], 0x80000000
jne 0x431417
lea esi, [esp + 0x40]
mov ecx, esi
call fcn.0044c763
mov eax, dword [esp + 0x2f0]
movq xmm0, qword [esp + 0x2e8]
mov dword [esi + 8], eax
movq qword [esi], xmm0
jmp 0x43004b
lea ecx, [esp + 0x40]
call fcn.0044cddb
test eax, eax
je 0x4313f0
cmp edx, 3
jb 0x4313f0
cmp dword [esp + 0x48], 0x41
jae 0x4313f0
lea ecx, [esp + 0x2e8]
call fcn.0044c763
jmp 0x43004b
mov eax, 0x4b8c28
mov edx, ecx
jmp 0x431451
mov eax, 0x4b8c38
mov ecx, ebx
push eax
mov ebx, dword [esp + 0x20]
lea esi, [esp + 0x44]
call fcn.0040cf20
pop eax
jmp 0x432f8f
lea eax, [esp + 0xd4]
mov cl, byte [eax - 3]
mov bl, byte [eax - 2]
mov ch, byte [eax - 1]
mov byte [esp], cl
mov byte [esp + 4], ch
push 0xfc
push eax
lea eax, [esp + 0x2f0]
push eax
mov bh, dl
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov al, bh
add al, 0xfe
cmp al, 7
movzx eax, al
push 5
pop ecx
mov edx, dword [esp + 0x70]
cmovb ecx, eax
movzx eax, cl
add edx, dword [eax*4 + 0x4333d4]
jmp edx
lea esi, [esp + 0xd4]
lea edi, [esp + 0x464]
push 0xf
pop ecx
rep movsd dword es:[edi], dword [esi]
movsd xmm0, qword [esp + 0x478]
mov edx, dword [esp + 0x46c]
mov ecx, dword [esp + 0x470]
mov eax, dword [esp + 0x468]
mov edi, dword [esp + 0x464]
mov esi, dword [esp + 0x488]
movsd qword [esp + 0xc0], xmm0
movsd xmm0, qword [esp + 0x480]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x49c]
mov ecx, dword [esp + 0x474]
mov dword [esp], eax
movsd qword [esp + 0xc8], xmm0
movsd xmm0, qword [esp + 0x48c]
mov dword [esp + 0xb0], edx
mov dword [esp + 0xc], ecx
movsd qword [esp + 0xa0], xmm0
movq xmm0, qword [esp + 0x494]
movq qword [esp + 0xa8], xmm0
movsd xmm1, qword [esp + 0xc8]
mov eax, dword [esp + 0xb0]
movq xmm0, qword [esp + 0xc0]
movsd xmm2, qword [esp + 0xa0]
movsd qword [esp + 0x458], xmm1
movq xmm1, qword [esp + 0xa8]
movq qword [esp + 0x450], xmm0
movsd qword [esp + 0x2d0], xmm2
mov dword [esp + 0x2e0], eax
movq qword [esp + 0x2d8], xmm1
lea ecx, [esp + 0x5b8]
call fcn.0043384b
lea eax, [esp + 0x88]
push eax
call fcn.0042719e
pop eax
lea eax, [esp + 0xbc]
push eax
call fcn.00428ddf
pop eax
mov ecx, dword [esp + 0xb8]
movsd xmm0, qword [esp + 0x2d0]
movsd xmm1, qword [esp + 0x2d8]
mov eax, dword [esp + 0x2e0]
mov edx, dword [esp + 8]
movsd qword [ecx + 0x3c], xmm1
movsd qword [ecx + 0x34], xmm0
movsd xmm0, qword [esp + 0x450]
movsd xmm1, qword [esp + 0x458]
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0xc]
movsd qword [esp + 0x2a0], xmm0
movsd qword [esp + 0x2a8], xmm1
mov dword [ecx + 0x1c], eax
mov eax, dword [esp]
movq xmm0, qword [esp + 0x2a0]
movq xmm1, qword [esp + 0x2a8]
movq qword [ecx + 0x20], xmm0
movq qword [ecx + 0x28], xmm1
mov dword [ecx], 1
and dword [ecx + 4], 0
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], edi
mov edi, dword [esp + 4]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x18], edx
mov dword [ecx + 0x30], esi
lea eax, [esp + 0x7c]
push eax
call fcn.0042719e
pop eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp + 0xd4]
lea ecx, [esp + 0x2e8]
push dword [esp + 0xd8]
call fcn.00435ecd
pop eax
mov eax, dword [esp + 0x2e8]
cmp eax, 0x80000004
jne 0x431fae
lea ecx, [esp + 0xd0]
call fcn.0042eb11
mov edi, dword [esp + 0x74]
mov esi, eax
lea ecx, [esp + 0x594]
call fcn.00428ce0
mov dword [esp + 0x594], esi
mov edi, dword [edi + 0x14]
mov ecx, dword [esp + 0x28]
call fcn.00427eab
mov eax, dword [esp + 0x28]
mov dword [esp], 0
shl eax, 4
add eax, edi
mov dword [esp + 0xc], eax
cmp edi, dword [esp + 0xc]
je 0x431fd3
mov eax, dword [esp]
xor ecx, ecx
cmp eax, dword [esp + 0x28]
setb cl
mov ebx, ecx
call fcn.00428869
mov eax, dword [edi]
add ebx, dword [esp]
lea esi, [edi + 0x10]
mov eax, dword [eax*4 + 0x43340c]
add eax, dword [esp + 0x70]
jmp eax
mov dword [esp + 0xc], 0
mov dword [esp], 0x80000002
jmp 0x431fa5
mov dword [esp + 0xc], 0
mov dword [esp], 0x80000003
mov dword [esp + 4], esi
jmp 0x43117c
mov dword [esp], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2f4]
jmp 0x431178
cmp dword [esp + 0x28], 0
je 0x4322f4
js 0x432f8a
mov edx, dword [esp + 0x28]
xor ecx, ecx
inc ecx
push 1
call fcn.0041dc32
pop ecx
test eax, eax
mov dword [esp + 8], eax
jne 0x4322fb
mov edx, dword [esp + 0x28]
xor ecx, ecx
inc ecx
call fcn.00404f40
jmp 0x432f8f
mov edx, edi
push 0x4b5568
call fcn.0040cf20
pop eax
jmp 0x432f8f
xor eax, eax
inc eax
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
lea esi, [ecx + eax*8]
mov dword [esp], edx
mov edx, ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 4], ebx
mov dword [esp + 0x230], esi
cmp edx, esi
je 0x43244d
mov edi, dword [edx]
mov eax, edx
cmp dword [esp + 0x28], edi
jbe 0x432e24
mov ecx, dword [esp + 8]
lea edx, [eax + 8]
cmp byte [ecx + edi], 0
jne 0x432328
mov ebx, dword [eax + 4]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x74]
mov edx, dword [eax + 0x18]
mov ecx, dword [eax + 0x14]
push 0x4b43ac
mov dword [esp + 0x10], ebx
push ebx
call fcn.004359d1
pop ecx
pop edx
mov ecx, eax
call fcn.004359ec
cmp eax, 1
jne 0x432381
mov ebx, edx
jmp 0x432356
mov edx, dword [esp + 4]
mov ecx, dword [esp]
push 0x4b43bc
push dword [esp + 0x10]
call fcn.00425c74
pop ecx
pop edx
mov esi, dword [eax]
mov edx, dword [esp + 4]
mov ecx, dword [esp]
push 0x4b43cc
push edi
call fcn.00425c74
pop ecx
pop edx
mov dword [eax], esi
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 8]
push 0x4b43dc
push edi
call fcn.00435a49
pop ecx
pop edx
mov ebx, dword [esp + 0x10]
mov byte [eax], 1
mov eax, dword [esp + 0x74]
mov edx, dword [eax + 0x18]
mov ecx, dword [eax + 0x14]
push 0x4b43ec
push ebx
call fcn.004359d1
pop ecx
pop edx
mov ecx, eax
call fcn.004359ec
cmp eax, 1
jne 0x432439
mov edi, edx
mov edx, dword [esp + 4]
mov ecx, dword [esp]
push 0x4b43fc
push dword [esp + 0x10]
call fcn.00425c74
pop ecx
pop edx
mov esi, dword [eax]
mov edx, dword [esp + 4]
mov ecx, dword [esp]
push 0x4b440c
push ebx
call fcn.00425c74
pop ecx
pop edx
mov dword [eax], esi
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 8]
push 0x4b441c
push ebx
call fcn.00435a49
pop ecx
pop edx
mov ebx, edi
jmp 0x4323c9
mov ebx, dword [esp + 4]
mov esi, dword [esp + 0x230]
mov edx, dword [esp + 0x14]
jmp 0x432328
mov ecx, dword [esp + 0x59c]
imul eax, dword [esp + 0x5a0], 0x14
add eax, ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov edi, dword [esp]
mov esi, dword [esp + 0xc]
cmp esi, dword [esp + 0x10]
je 0x43256f
lea eax, [esi + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [esi]
mov eax, dword [eax*4 + 0x433434]
add eax, dword [esp + 0x70]
jmp eax
mov edx, ebx
mov ecx, edi
push 0x4b4dd0
push dword [esp + 0x584]
call fcn.004359b8
pop ecx
pop edx
mov eax, dword [eax]
mov dword [esp + 0x580], eax
mov edx, ebx
mov ecx, edi
push 0x4b4de0
push dword [esp + 0x588]
call fcn.004359b8
pop ecx
pop edx
mov eax, dword [eax]
mov dword [esp + 0x584], eax
mov edi, dword [esp + 0x5ac]
mov esi, dword [esp + 0x5a8]
shl edi, 2
test edi, edi
je 0x4325e3
mov ecx, dword [esp]
mov edx, ebx
push 0x4b4df0
push dword [esi]
call fcn.004359b8
pop ecx
pop edx
mov eax, dword [eax]
add edi, 0xfffffffc
mov dword [esi], eax
add esi, 4
jmp 0x4325c0
push 0x158
lea eax, [esp + 0x464]
push eax
lea esi, [esp + 0x2f0]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, 0x100
lea ecx, [esi + eax]
mov dword [esp + 0x14], ecx
push eax
push 0
lea eax, [esp + 0xd8]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
xor eax, eax
xor ecx, ecx
cmp eax, 0xff
mov byte [esp + eax + 0xd0], cl
je 0x43270b
mov dword [esp + 0xc], ecx
mov ecx, eax
and dword [esp + 0x2cc], 0
and dword [esp + 0x2c8], 0
and dword [esp + 0x2c4], 0
mov dword [esp + 0x2c0], 1
and dword [esp + 0x2bc], 0
and dword [esp + 0x2b8], 0
and dword [esp + 0x2b4], 0
and dword [esp + 0x2b0], 0
mov dword [esp + 4], eax
and al, 7
and cl, 0x78
shr cl, 3
neg cl
movsx ebx, cl
mov ecx, eax
mov edi, dword [esp + ebx + 0x2c8]
mov edx, dword [esp + ebx + 0x2cc]
shld edx, edi, cl
shl edi, cl
not cl
mov dword [esp + 0x10], edx
mov edx, dword [esp + ebx + 0x2c4]
mov ebx, dword [esp + ebx + 0x2c0]
mov esi, edx
shr esi, 1
shr esi, cl
mov ecx, eax
mov eax, dword [esp + 0x14]
or esi, edi
mov edi, dword [esp + 4]
shld edx, ebx, cl
shl ebx, cl
mov ecx, dword [esp + 0x10]
shr edi, 3
and edi, 0x10
and esi, dword [eax + edi + 8]
and ebx, dword [eax + edi]
and ecx, dword [eax + edi + 0xc]
and edx, dword [eax + edi + 4]
or ebx, esi
or edx, ecx
or edx, ebx
je 0x4326fd
mov ecx, dword [esp + 0xc]
inc cl
jne 0x432701
jmp 0x432f40
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 4]
inc eax
jmp 0x432623
push 0x100
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x2f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x428]
and dword [esp + 0x5c], 0
mov dword [esp + 0x60], 4
and dword [esp + 0x64], 0
lea ecx, [esp + 0x40]
mov dword [esp + 4], edx
call fcn.004358dd
mov esi, dword [esp + 0x430]
mov eax, dword [esp + 0x434]
mov bl, byte [esp + 0x43a]
mov ecx, dword [esp + 0x414]
mov edx, dword [esp + 0x424]
mov dword [esp + 0x38], 0
lea eax, [esi + eax*4]
mov byte [esp + 0x18], bl
mov dword [esp + 0xc], edx
mov dword [esp + 0x3c], eax
push 4
pop edi
cmp esi, dword [esp + 0x3c]
setne al
mov byte [esp + 0x1c], al
je 0x4328bc
mov edx, dword [esi]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x5c]
call fcn.00429828
and dword [esp + 0x58], 0
add esi, 4
mov dword [esp + 0x10], 0
mov dword [esp + 0x230], esi
mov eax, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x38], eax
dec ebx
cmp ebx, 0xffffffff
je 0x4328a3
mov esi, dword [edi + ebx*4]
lea ecx, [esp + 0x40]
mov edx, esi
call fcn.004349ac
test al, al
je 0x4327d2
cmp dword [esp + 4], esi
jbe 0x432b22
mov edx, dword [esp + 0xc]
imul ecx, esi, 0x14
lea eax, [edx + ecx]
mov ecx, dword [edx + ecx]
mov ecx, dword [ecx*4 + 0x433458]
add ecx, dword [esp + 0x70]
jmp ecx
mov ecx, dword [esp + 0x14]
and dword [esp + 0x64], 0
mov esi, dword [esp + 0x230]
or ecx, dword [esp + 0x10]
jmp 0x43278b
mov al, byte [esp + 0x18]
lea esi, [esp + 0xd8]
mov byte [esp + 0x43a], al
mov dword [esp + 0x414], ecx
push 0x158
lea eax, [esp + 0x2ec]
push eax
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
xor eax, eax
inc eax
mov dword [esi - 8], eax
mov dword [esi - 4], eax
push 8
pop edx
mov ecx, 0x160
call fcn.00426ad8
mov ebx, eax
push 0x160
lea eax, [esp + 0xd4]
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x40]
call fcn.0042ec58
mov ecx, dword [esp + 0x38]
mov edx, edi
call fcn.004269d8
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 8]
call fcn.0044dd1b
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp]
call fcn.004269d8
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x24]
call fcn.004203d7
mov eax, dword [esp + 0xb4]
mov dword [esp], ebx
inc dword [eax]
mov dword [esp + 0x25c], ebx
lea ebx, [esp + 0x5b8]
mov ecx, ebx
call fcn.0043384b
cmp byte [esp + 0x20], 2
jne 0x432989
mov edi, dword [esp + 0x6c]
mov byte [esp + 0x20], 2
jmp 0x43299d
mov edi, dword [esp + 0x6c]
lock inc dword [edi]
jle 0x432f8f
mov esi, dword [esp + 0x8c]
mov eax, dword [esp + 0x68]
mov al, byte [eax + 0x3e]
mov byte [esp + 0xd8], 3
cmp al, 2
sete cl
or cl, al
and cl, 1
mov byte [esp + 0xdc], cl
lea eax, [esp + 0xd0]
push eax
call fcn.0042707e
pop eax
mov al, byte [esp + 0x20]
mov dword [esp + 0xd0], edi
mov dword [esp + 0xd4], esi
mov byte [esp + 0x46c], 2
mov byte [esp + 0x468], 3
mov byte [esp + 0xd8], al
movq xmm0, qword [esp + 0xd0]
movq xmm1, qword [esp + 0xd8]
movq qword [esp + 0x5b8], xmm0
movq qword [esp + 0x5c0], xmm1
lea esi, [esp + 0x2e8]
mov ecx, esi
call fcn.004336ca
movq xmm0, qword [esp + 0x460]
movq xmm1, qword [esp + 0x468]
mov eax, 0xf0
movq qword [esp + 0x1c8], xmm1
movq qword [esp + 0x1c0], xmm0
push eax
push esi
lea eax, [esp + 0xd8]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov al, byte [esp + 0x1cc]
mov bl, byte [esp + 0x5c0]
mov edi, dword [esp + 0x5b8]
mov ecx, dword [esp + 0x5bc]
mov bh, byte [esp + 0x5c4]
mov dl, byte [esp + 0x5c3]
mov byte [esp + 0xc], al
movzx eax, word [esp + 0x5c1]
cmp bl, 3
mov dword [esp + 0x2e8], edi
mov dword [esp + 0x2ec], ecx
mov byte [esp + 0x2f0], bl
mov byte [esp + 0x2f3], dl
mov word [esp + 0x2f1], ax
jne 0x432acf
mov al, byte [esp + 0x1c8]
cmp al, 3
jne 0x432b1a
mov bl, 3
jmp 0x432b20
lea eax, [esp + 0x5c1]
mov dword [esp + 4], ecx
mov cl, byte [eax + 2]
movzx eax, word [eax]
mov byte [esp + 0x462], cl
mov word [esp + 0x460], ax
jmp 0x432b78
mov eax, dword [esp + 0x24]
mov dword [esp], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
jmp 0x43117c
mov ecx, esi
push 0x4b5578
call fcn.0040cf20
pop eax
jmp 0x432f8f
cmp al, 2
jne 0x432b52
mov bl, 2
jmp 0x432b71
mov eax, dword [esp + 0x14]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x414], eax
mov ah, byte [esp + 0x18]
mov byte [esp + 0x43a], ah
mov edx, dword [esp + 4]
mov ecx, esi
push 0x4b4da0
call fcn.0040cf20
pop eax
jmp 0x432f8f
mov bl, al
mov eax, dword [esp + 0x1c0]
lock inc dword [eax]
jle 0x432f8f
mov ecx, dword [esp + 0x1c4]
mov edi, eax
mov dword [esp + 4], ecx
push esi
call fcn.0042707e
pop eax
lea ecx, [esp + 0xd0]
mov eax, 0xf0
movzx esi, bh
mov dl, byte [esp + 0x462]
add ecx, eax
movzx eax, byte [esp + 0xc]
cmp bh, 2
mov byte [esp + 0x2ea], dl
cmove esi, eax
movzx eax, word [esp + 0x460]
mov word [esp + 0x2e8], ax
push ecx
call fcn.0042707e
pop eax
mov eax, dword [esp + 4]
mov dword [esp + 0x1c0], edi
mov ecx, dword [esp]
mov dword [esp + 0x1c4], eax
movzx eax, word [esp + 0x2e8]
mov byte [esp + 0x1c8], bl
mov word [esp + 0x1c9], ax
mov al, byte [esp + 0x2ea]
mov byte [esp + 0x1cb], al
mov eax, esi
mov byte [esp + 0x1cc], al
lock inc dword [ecx]
push 2
pop ecx
jle 0x432f8f
mov eax, esi
mov edx, ebx
xor ebx, ebx
test al, al
setne bl
cmp al, 2
movzx eax, dl
cmove ebx, ecx
cmp dl, 3
je 0x432c2e
cmp eax, 2
je 0x432c30
lock inc dword [edi]
jle 0x432f8f
mov ecx, eax
mov esi, dword [esp]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x2e8], esi
mov dword [esp + 0x2ec], edi
mov edi, dword [esp + 4]
mov dword [esp + 0x2f0], edi
mov dword [esp + 0x2f4], ecx
mov dword [esp + 0x2f8], ebx
lea ecx, [esp + 0xd0]
call fcn.00433880
mov eax, dword [esp + 8]
mov dword [esp + 0xd0], esi
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], eax
mov al, byte [esp + 0x90]
mov dword [esp + 0xe0], ebx
cmp al, 2
jne 0x432cae
mov byte [esp + 0x2f0], 2
jmp 0x432cda
mov ecx, dword [esp + 0x88]
lock inc dword [ecx]
jle 0x432f8f
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x2e8], ecx
mov dword [esp + 0x2ec], edx
mov byte [esp + 0x2f0], al
mov esi, dword [esp]
lea eax, [esp + 0x2e8]
push eax
call fcn.0042719e
pop eax
lea eax, [esp + 0xd4]
mov ecx, dword [esp + 0xbc]
movsd xmm1, qword [eax]
movsd xmm0, qword [eax + 8]
mov dword [eax + 0x1c], esi
movsd qword [esp + 0x2a0], xmm1
movsd qword [esp + 0x448], xmm0
movsd qword [esp + 0x2a8], xmm0
movsd xmm1, qword [esp + 0x2a0]
movsd xmm2, qword [esp + 0x448]
movsd qword [esp + 0x440], xmm1
movsd qword [eax + 0x28], xmm2
movsd xmm1, qword [esp + 0x440]
movsd qword [eax + 0x20], xmm1
and dword [eax + 4], 0
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x25c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x88]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x8c]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x90]
mov dword [eax + 0x18], ecx
and dword [eax + 0x30], 0
xor ecx, ecx
inc ecx
mov dword [eax - 4], ecx
mov dword [eax], ecx
push 0x38
pop ecx
push 4
pop edx
call fcn.00426ad8
push 0xe
pop ecx
lea esi, [esp + 0xd0]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0xb8]
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0x4b3e64
mov dword [ecx], 2
jmp 0x4316da
mov edi, dword [esp + 4]
mov esi, dword [esp + 0xc]
jmp 0x4309b6
lea edx, [esp + 0x46c]
push 0xd
pop ecx
mov edi, edx
lea esi, [esp + 0x2f4]
rep movsd dword es:[edi], dword [esi]
mov dword [edx - 0xc], ebx
mov dword [edx - 8], eax
mov eax, dword [esp + 8]
mov dword [edx - 4], eax
jmp 0x431532
lea ecx, [esp + 0xd0]
mov dword [ecx], 0x502538
mov dword [ecx + 4], 1
and dword [ecx + 0x10], 0
mov dword [ecx + 8], str.combase.dll
and dword [ecx + 0xc], 0
mov edx, 0x4b8c48
call fcn.0040cbc0
jmp 0x432f8f
mov edx, dword [esp + 0x28]
mov ecx, edi
push 0x4b439c
call fcn.0040cf20
pop eax
jmp 0x432f8f
push 0x2c
pop edx
mov ecx, str.assertion_failed:_end___start__end___len
push 0x502800
call fcn.0040db80
pop eax
jmp 0x432f8f
and dword [esp + 0x2e8], 0
mov eax, 0x4b55c8
jmp 0x432e9f
and dword [esp + 0x40], 0
and dword [esp + 0x2e8], 0
mov eax, 0x4b55a8
mov edx, dword [esp + 0x27c]
mov ecx, dword [esp + 0x280]
push eax
push dword [esp + 0x288]
call fcn.0043a345
pop eax
pop ecx
jmp 0x432f8f
push 0x2b
pop edx
mov ecx, 0x5063db
push 0x5027b4
mov eax, dword [esp + 0x264]
mov dword [esp + 0xc], eax
call fcn.0040db80
pop eax
jmp 0x432f8f
push 0x2b
pop edx
mov ecx, 0x5063db
push 0x502794
call fcn.0040db80
pop eax
jmp 0x432f8f
push 0x2b
pop edx
mov ecx, 0x5063db
push 0x5027a4
call fcn.0040db80
pop eax
jmp 0x432f8f
lea ecx, [esp + 0xd0]
mov dword [ecx], str.must_call_finish_pattern_firstdCK
mov dword [ecx + 4], 1
and dword [ecx + 0x10], 0
mov dword [ecx + 8], str.combase.dll
and dword [ecx + 0xc], 0
mov edx, 0x4b438c
call fcn.0040cbc0
jmp 0x432f8f
push 0x2b
pop edx
mov ecx, 0x5063db
push 0x4b549c
call fcn.0040db80
pop eax
jmp 0x432f8f
lea edx, [esp + 0xd0]
and dword [edx], 0
lea ecx, [esp + 0x2e8]
call fcn.0043a370
jmp 0x432f8f
call fcn.00404f00
ud2