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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x2c0
mov esi, dword [esp + 0x2d8]
cmp byte [esp + 0x2d4], 0
mov edi, ecx
mov dword [esp + 0x44], edx
je 0x405bd6
lea eax, [esi + 0x48]
lea ecx, [esp + 0x1c1]
push 0xff
push eax
push ecx
call fcn.007bd9b0
add esp, 0xc
movzx eax, byte [esi + 0x147]
jmp 0x405ce5
movaps xmm0, xmmword [0x7d4330]
movaps xmm1, xmmword [0x7d4340]
movaps xmm2, xmmword [str._________._0123456789:_____ABCDEFGHIJKLMNOPQRSTUVWXYZ____abcdefghijklmnopqrstuvwxyz]
lea eax, [esp + 0x78]
lea ecx, [esp + 0x1c1]
movups xmmword [esp + 0x78], xmm0
movups xmmword [esp + 0x88], xmm1
movaps xmm1, xmmword [0x7d4360]
movups xmmword [esp + 0x98], xmm2
movaps xmm2, xmmword [0x7d4370]
movups xmmword [esp + 0xa8], xmm1
movaps xmm1, xmmword [0x7d4380]
movups xmmword [esp + 0xb8], xmm2
movaps xmm2, xmmword [0x7d4390]
movups xmmword [esp + 0xc8], xmm1
movaps xmm1, xmmword [0x7d43a0]
movups xmmword [esp + 0xd8], xmm2
movaps xmm2, xmmword [0x7d43b0]
movups xmmword [esp + 0xe8], xmm1
movaps xmm1, xmmword [0x7d43c0]
movups xmmword [esp + 0xf8], xmm2
movaps xmm2, xmmword [0x7d43d0]
movups xmmword [esp + 0x108], xmm1
movaps xmm1, xmmword [0x7d43e0]
movups xmmword [esp + 0x118], xmm2
movaps xmm2, xmmword [0x7d43f0]
movups xmmword [esp + 0x128], xmm1
movaps xmm1, xmmword [0x7d4400]
movups xmmword [esp + 0x138], xmm2
movaps xmm2, xmmword [0x7d4410]
movups xmmword [esp + 0x148], xmm1
movaps xmm1, xmmword [0x7d4420]
movups xmmword [esp + 0x158], xmm2
movups xmmword [esp + 0x168], xmm1
push 0xff
push eax
push ecx
call fcn.007bd9b0
add esp, 0xc
movzx eax, byte [esp + 0x177]
mov ecx, dword [esi + 8]
mov byte [esp + 0xb], al
mov eax, dword [esi + 4]
mov esi, 4
mov ebp, 4
test ecx, ecx
mov dword [esp + 0x24], eax
mov eax, ecx
mov dword [esp], ecx
je 0x405d67
mov ebx, dword [esp]
cmp ebx, 0x1fffffff
ja 0x406b03
mov esi, edi
lea edi, [ebx*4]
test edi, edi
js 0x406b03
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x406b08
cmp ebx, 2
mov ebp, eax
jb 0x405d5a
lea eax, [edi - 4]
push eax
push 0
mov ebx, ebp
push ebp
call fcn.007bdf30
add esp, 0xc
lea eax, [ebp + edi - 4]
mov edi, esi
mov esi, 4
mov dword [eax], 0
mov eax, dword [esp + 0x2d8]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x3c], edi
mov ebx, dword [eax + 0x38]
mov ebp, dword [eax + 0x34]
test ebx, ebx
je 0x405db7
cmp ebx, 0x1fffffff
ja 0x406b03
lea edi, [ebx*4]
test edi, edi
js 0x406b03
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x406b08
mov esi, eax
jmp 0x405db9
xor edi, edi
push edi
push ebp
push esi
call fcn.007bd9b0
add esp, 0xc
mov ebp, dword [esp + 0x2d8]
mov dword [esp + 4], esi
mov dword [esp + 0x10], ebx
mov edi, dword [ebp + 0x3c]
test edi, edi
je 0x405df3
mov eax, dword [ebp + 0x40]
mov dword [esp + 0x18], eax
lock inc dword [edi]
jle 0x406b6f
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x28], eax
jmp 0x405df3
movzx ebx, byte [esp + 0xb]
mov bh, byte [ebp + 0x160]
lea ecx, [esp + 0x1c1]
movzx eax, bl
lea esi, [eax + 1]
mov dword [esp + 0x68], eax
lea eax, [esp + 0xa4]
push 0xff
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 4]
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 4
mov dword [esp + 0x80], 0
mov ecx, dword [esp + 0x28]
movsd xmm0, qword [ebp + 0x148]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov eax, dword [esp]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edi
mov edi, dword [esp + 0x18]
test eax, eax
mov dword [esp + 0x98], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x9c], ecx
mov byte [esp + 0x1bc], bh
mov dword [esp + 0xa0], esi
mov byte [esp + 0x1a3], bl
movsd qword [esp + 0x1a4], xmm0
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1b0], 0
je 0x40679d
mov eax, dword [esp]
mov ecx, dword [esp + 0x24]
mov edx, esi
movaps xmm0, xmmword [0x7d4430]
xor ebx, ebx
mov dword [esp + 0xc], 0
mov dword [esp + 0x2c], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x2d8]
mov esi, dword [eax + 0x14]
mov ebp, dword [eax + 0x10]
mov dword [esp + 4], esi
mov esi, dword [eax + 0x2c]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x10], esi
mov esi, edx
and edx, 7
mov dword [esp + 0x18], eax
and esi, 0xfffffff8
mov dword [esp + 0x64], edx
mov edx, 4
mov dword [esp + 0x40], esi
jmp 0x405f77
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], edi
mov dword [eax + ebx*4], ecx
mov ecx, dword [esp + 0x74]
inc ebx
mov edi, eax
add ecx, 0x14
cmp ecx, dword [esp + 0x6c]
je 0x406626
cmp ebx, dword [esp]
jae 0x406ab9
cmp ebx, 1
je 0x4060b0
cmp dword [esp + 0xc], 0x7ffffffe
ja 0x40684c
mov dword [esp + 0x14], edx
mov edi, dword [ecx + 8]
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x74], ecx
lea ecx, [ebx + ebx*4]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x48], ecx
lea esi, [ebx + ecx*4]
mov ecx, dword [ebx + ecx*4]
mov dword [esp + 0x30], eax
mov dword [esp + 0x70], edi
mov dword [esp + 0x34], esi
test ecx, ecx
je 0x4060d0
mov esi, 0xffffffff
mov eax, ecx
nop dword [eax + eax]
cmp eax, dword [esp + 4]
jae 0x40698d
lea eax, [eax + eax*8]
mov ebx, esi
inc esi
mov eax, dword [ebp + eax + 5]
test eax, eax
jne 0x405fe0
cmp edx, dword [esp + 0x44]
jb 0x4060d8
add ebx, 2
cmp ebx, 0x7f
ja 0x4060d8
test esi, esi
jne 0x406150
mov ebx, 1
test edi, edi
jne 0x406150
cmp ecx, dword [esp + 4]
jae 0x40698f
lea eax, [ecx + ecx*8]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0xc]
movzx ecx, byte [ebp + eax]
mov esi, dword [ebp + eax + 1]
cmp edi, edx
movzx ebx, byte [esp + ecx + 0xa4]
jne 0x40606d
mov edx, dword [esp + 0xc]
lea ecx, [esp + 0x78]
call fcn.0075a1c0
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x80]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
shl ebx, 8
or ebx, 0xfe
mov dword [eax + edi*4], ebx
inc edi
cmp edi, edx
mov dword [esp + 0x80], edi
jne 0x4065de
lea ecx, [esp + 0x78]
call fcn.0075a1c0
mov edi, dword [esp + 0x80]
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0x1c]
jmp 0x4065e6
mov ebx, 2
mov dword [edi + 4], 1
add ecx, 0x14
cmp ecx, dword [esp + 0x6c]
jne 0x405f77
jmp 0x406626
xor ebx, ebx
cmp edx, dword [esp + 0x44]
jae 0x406150
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0xc]
cmp ebx, edx
jne 0x40610b
mov edx, dword [esp + 0xc]
lea ecx, [esp + 0x78]
call fcn.0075a1c0
mov eax, dword [esp + 0x7c]
movaps xmm0, xmmword [0x7d4430]
mov ebx, dword [esp + 0x80]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov dword [eax + ebx*4], 0xff
inc ebx
cmp ebx, edx
mov dword [esp + 0x80], ebx
jne 0x406283
lea ecx, [esp + 0x78]
call fcn.0075a1c0
movaps xmm0, xmmword [0x7d4430]
mov ebx, dword [esp + 0x80]
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
jmp 0x406287
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0xc]
cmp edi, edx
jne 0x406183
mov edx, dword [esp + 0xc]
lea ecx, [esp + 0x78]
call fcn.0075a1c0
mov eax, dword [esp + 0x7c]
movaps xmm0, xmmword [0x7d4430]
mov edi, dword [esp + 0x80]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov dword [eax + edi*4], ebx
inc edi
cmp edi, edx
mov dword [esp + 0x80], edi
jne 0x4061b1
lea ecx, [esp + 0x78]
call fcn.0075a1c0
movaps xmm0, xmmword [0x7d4430]
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x80]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [eax + edi*4], ecx
inc edi
mov dword [esp + 0x4c], 0
mov dword [esp + 0x80], edi
mov ebx, dword [edx]
mov edx, eax
test ebx, ebx
je 0x406445
cmp ebx, dword [esp + 4]
jae 0x40699d
xor ecx, ecx
jmp 0x406236
lea ecx, [esp + 0x78]
mov edx, edi
call fcn.0075a1c0
movaps xmm0, xmmword [0x7d4430]
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x80]
mov dword [edx + edi*4], esi
inc edi
xor eax, eax
test ebx, ebx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x80], edi
je 0x406312
cmp ebx, dword [esp + 4]
mov ecx, eax
jae 0x40699d
mov ebp, edx
mov edx, dword [esp + 0x28]
lea eax, [ebx + ebx*8]
mov ebx, dword [edx + eax + 5]
movzx eax, byte [edx + eax]
movzx edx, byte [esp + eax + 0xa4]
lea eax, [ecx + 1]
cmp eax, 4
mov byte [esp + ecx + 0x4c], dl
jne 0x406270
mov esi, dword [esp + 0x4c]
cmp edi, dword [esp + 0x78]
je 0x4061f0
mov edx, ebp
jmp 0x40620d
test ebx, ebx
je 0x4062bc
mov edx, ebp
cmp ebx, dword [esp + 4]
mov ecx, eax
jb 0x406236
jmp 0x40699d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
mov esi, eax
mov dword [eax + ebx*4], ecx
inc ebx
sub edx, ebx
mov edi, ebx
mov dword [esp + 0x80], ebx
cmp edx, dword [esp + 0x68]
jbe 0x40637d
cmp byte [esp + 0xb], 7
jae 0x4063ac
mov eax, dword [esp + 0x2c]
mov edx, esi
jmp 0x4063dd
mov esi, 3
lea eax, [esp + eax + 0x4c]
sub esi, ecx
movzx ecx, dl
push esi
push ecx
push eax
call fcn.007bdf30
add esp, 0xc
mov esi, dword [esp + 0x4c]
cmp edi, dword [esp + 0x78]
jne 0x4062fe
lea ecx, [esp + 0x78]
mov edx, edi
call fcn.0075a1c0
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x80]
movaps xmm0, xmmword [0x7d4430]
jmp 0x406307
movaps xmm0, xmmword [0x7d4430]
mov edx, ebp
mov dword [edx + edi*4], esi
inc edi
mov dword [esp + 0x80], edi
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x28]
mov ebx, dword [eax]
test ebx, ebx
jne 0x406343
jmp 0x406445
mov dword [edx + edi*4], esi
inc edi
test ebx, ebx
mov dword [esp + 0x80], edi
je 0x406445
cmp ebx, dword [esp + 4]
jae 0x40699d
lea eax, [ebx + ebx*8]
cmp edi, dword [esp + 0x78]
mov esi, dword [ebp + eax + 1]
mov ebx, dword [ebp + eax + 5]
jne 0x406330
lea ecx, [esp + 0x78]
mov edx, edi
call fcn.0075a1c0
movaps xmm0, xmmword [0x7d4430]
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x80]
jmp 0x406330
lea ecx, [esp + 0x78]
mov edx, ebx
push dword [esp + 0x2c]
call fcn.007c7a80
movaps xmm0, xmmword [0x7d4430]
add esp, 4
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x80]
cmp byte [esp + 0xb], 7
jb 0x4062b1
mov ecx, dword [esp + 0x40]
lea eax, [esi + edi*4 + 0x10]
mov edx, esi
add edi, ecx
nop dword [eax + eax]
movups xmmword [eax - 0x10], xmm0
movups xmmword [eax], xmm0
add eax, 0x20
add ecx, 0xfffffff8
jne 0x4063c0
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x2c], eax
mov eax, dword [esp + 0x64]
je 0x4063ef
mov ecx, edi
nop
lea edi, [ecx + 1]
mov dword [edx + ecx*4], 1
dec eax
mov ecx, edi
jne 0x4063e0
cmp ebx, edi
mov dword [esp + 0x80], edi
jae 0x406acd
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
test ecx, ecx
je 0x406445
nop dword [eax + eax]
cmp ecx, dword [esp + 4]
jae 0x40698f
lea ecx, [ecx + ecx*8]
movzx eax, byte [ebp + ecx]
movzx eax, byte [esp + eax + 0xa4]
add eax, ebx
cmp eax, edi
jae 0x4069bd
add ecx, ebp
mov edx, dword [ecx + 1]
mov ecx, dword [ecx + 5]
test ecx, ecx
mov dword [esi + eax*4], edx
jne 0x406410
mov edx, esi
cmp dword [esp + 0x70], 0
mov ebx, dword [esp + 0x1c]
je 0x405f54
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x48]
mov ecx, dword [eax + ecx*4 + 8]
test ecx, ecx
je 0x406570
mov esi, edx
mov edx, 0xffffffff
mov eax, ecx
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp eax, dword [esp + 0x10]
jae 0x4069ad
mov ebx, edx
mov edx, dword [esp + 0x18]
mov eax, dword [edx + eax*8 + 4]
lea edx, [ebx + 1]
test eax, eax
jne 0x406480
test edx, edx
je 0x406588
add ebx, 2
mov edx, esi
mov eax, ebx
and eax, 0x80000000
mov dword [esp + 0x38], eax
jne 0x406b14
mov edi, dword [esp + 0x80]
cmp edi, dword [esp + 0x78]
jne 0x4064e3
lea ecx, [esp + 0x78]
mov edx, edi
call fcn.0075a1c0
movaps xmm0, xmmword [0x7d4430]
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x80]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x48]
mov dword [edx + edi*4], ebx
inc edi
mov dword [esp + 0x80], edi
lea eax, [eax + ecx*4 + 8]
mov ebx, dword [eax]
jmp 0x40650b
mov dword [edx + edi*4], esi
inc edi
mov dword [esp + 0x80], edi
test ebx, ebx
je 0x406540
cmp ebx, dword [esp + 0x10]
jae 0x4069cb
mov eax, dword [esp + 0x18]
mov esi, dword [eax + ebx*8]
mov ebx, dword [eax + ebx*8 + 4]
mov eax, 1
cmp eax, 1
je 0x40654d
jmp 0x405f50
xor ebx, ebx
xor eax, eax
cmp eax, 1
jne 0x405f50
cmp edi, dword [esp + 0x78]
jne 0x406500
mov edx, edi
lea ecx, [esp + 0x78]
push 1
call fcn.007c7a80
movaps xmm0, xmmword [0x7d4430]
add esp, 4
mov edx, dword [esp + 0x7c]
jmp 0x406500
xor ebx, ebx
mov edi, dword [esp + 0x80]
cmp edi, dword [esp + 0x78]
je 0x4064c6
jmp 0x4064e3
cmp ecx, dword [esp + 0x10]
jae 0x4069af
mov eax, dword [esp + 0x18]
mov edx, esi
mov esi, dword [eax + ecx*8]
mov eax, esi
and eax, 0x80000000
mov dword [esp + 0x38], eax
jne 0x406b5a
cmp edi, dword [esp + 0x78]
mov ebx, dword [esp + 0x1c]
jne 0x4065d3
lea ecx, [esp + 0x78]
mov edx, edi
call fcn.0075a1c0
movaps xmm0, xmmword [0x7d4430]
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x80]
or esi, 0x80000000
mov dword [edx + edi*4], esi
jmp 0x406619
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
mov dword [eax + edi*4], ecx
inc edi
cmp edi, edx
mov dword [esp + 0x80], edi
jne 0x40660d
lea ecx, [esp + 0x78]
call fcn.0075a1c0
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x80]
movaps xmm0, xmmword [0x7d4430]
mov edx, eax
mov dword [eax + edi*4], esi
inc edi
mov dword [esp + 0x80], edi
jmp 0x405f54
mov eax, dword [esp]
mov ebp, edi
lea eax, [edi + eax*4]
mov dword [esp + 4], eax
jmp 0x40664d
mov eax, dword [edi + eax*4]
mov dword [ecx + 8], eax
nop word [eax + eax]
add ebp, 4
cmp ebp, dword [esp + 4]
je 0x40679d
mov ecx, dword [ebp]
cmp ecx, 1
je 0x406640
mov edx, dword [esp + 0x80]
cmp edx, ecx
jb 0x406ac3
sub edx, ecx
je 0x4069f7
shl ecx, 2
add ecx, dword [esp + 0x7c]
mov eax, dword [ecx]
cmp al, 0xfe
je 0x4066dd
movzx ebx, al
cmp ebx, 0xff
jne 0x406712
cmp edx, 1
jbe 0x406a05
mov esi, dword [ecx + 4]
cmp esi, dword [esp]
jae 0x406a41
mov eax, dword [esp + 0xa0]
mov esi, dword [edi + esi*4]
add edx, 0xfffffffe
cmp edx, eax
mov dword [ecx + 4], esi
jb 0x406b34
test eax, eax
je 0x406640
add ecx, 8
shl eax, 2
nop
mov edx, dword [ecx]
cmp edx, dword [esp]
jae 0x4069db
mov edx, dword [edi + edx*4]
mov dword [ecx], edx
add ecx, 4
add eax, 0xfffffffc
jne 0x4066c0
jmp 0x406640
cmp edx, 1
jbe 0x406a19
mov eax, dword [ecx + 4]
cmp eax, dword [esp]
jae 0x406a50
mov eax, dword [edi + eax*4]
cmp edx, 3
mov dword [ecx + 4], eax
jb 0x406a6e
mov eax, dword [ecx + 8]
cmp eax, dword [esp]
jb 0x406634
jmp 0x406a82
test bl, 3
setne byte [esp + 0x10]
cmp edx, 2
jb 0x406a2d
mov esi, dword [ecx + 4]
cmp esi, dword [esp]
jae 0x406a5f
movzx eax, byte [esp + 0x10]
mov dword [esp + 0x18], ebx
xor ebx, ebx
mov esi, dword [edi + esi*4]
mov edi, edx
mov bl, al
mov dword [ecx + 4], esi
mov eax, ebx
mov ebx, dword [esp + 0x18]
mov esi, eax
mov eax, ebx
shr eax, 2
lea esi, [eax + esi + 2]
sub edi, esi
jb 0x406b40
cmp ebx, edi
ja 0x406b4c
mov edi, dword [esp + 0x20]
test ebx, ebx
je 0x406640
lea edx, [ecx + esi*4]
shl ebx, 2
nop word [eax + eax]
mov ecx, dword [edx]
cmp ecx, dword [esp]
jae 0x4069ea
mov eax, dword [edi + ecx*4]
mov dword [edx], eax
add edx, 4
add ebx, 0xfffffffc
jne 0x406780
jmp 0x406640
mov esi, dword [esp + 0x2d8]
mov edx, dword [esp]
mov ecx, dword [esi + 0x150]
cmp ecx, edx
jae 0x406a91
mov eax, dword [edi + ecx*4]
mov ecx, dword [esi + 0x154]
cmp ecx, edx
mov dword [esp + 0x1ac], eax
jae 0x406a9b
mov eax, dword [edi + ecx*4]
mov ecx, dword [esi + 0x158]
cmp ecx, edx
mov dword [esp + 0x1b0], eax
jae 0x406aa5
mov eax, dword [edi + ecx*4]
mov ecx, dword [esi + 0x15c]
cmp ecx, edx
mov dword [esp + 0x1b4], eax
jae 0x406aaf
mov eax, dword [edi + ecx*4]
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x1b8], eax
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x78], edi
jbe 0x4068f9
mov eax, dword [esp + 0x7c]
test edi, edi
je 0x4068dd
lea esi, [edi*4]
push esi
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
jne 0x4068f1
jmp 0x40692f
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x78], 0
mov ecx, dword [esp + 0xc]
mov dword [eax + 8], 0
mov dword [eax + 0xc], ecx
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0x7ffffffe
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], 0
mov dword [eax], 0x80000000
je 0x406895
push dword [esp + 0x7c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x84], 0
je 0x4068b4
push dword [esp + 0x88]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x94]
test eax, eax
je 0x4068d7
lock dec dword [eax]
jne 0x4068d7
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
call fcn.0075aba0
push edi
jmp 0x406974
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 4
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x84], edi
jbe 0x40695d
mov eax, dword [esp + 0x88]
test edi, edi
je 0x40693b
lea esi, [edi*4]
push esi
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
jne 0x40694f
mov ecx, 4
mov edx, esi
call fcn.007c1490
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 4
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], edi
lea eax, [esp + 0x78]
push 0x148
push eax
push ebx
call fcn.007bd9b0
add esp, 0xc
push dword [esp + 0x20]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
add esp, 0x2c0
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, eax
mov edx, dword [esp + 4]
push 0x8a80b8
call fcn.007c1be0
mov ecx, ebx
mov edx, dword [esp + 4]
push 0x8a80b8
call fcn.007c1be0
mov ecx, eax
mov edx, dword [esp + 0x10]
push 0x8a80c8
call fcn.007c1be0
mov ecx, eax
mov edx, edi
push 0x7d6278
call fcn.007c1be0
mov ecx, ebx
mov edx, dword [esp + 0x10]
push 0x8a80c8
call fcn.007c1be0
mov ecx, edx
mov edx, dword [esp]
push 0x7d619c
call fcn.007c1be0
mov edx, dword [esp]
push 0x7d610c
call fcn.007c1be0
xor ecx, ecx
xor edx, edx
push 0x8a7fe0
call fcn.007c1be0
mov ecx, 1
mov edx, 1
push 0x7d616c
call fcn.007c1be0
mov ecx, 1
mov edx, 1
push 0x7d612c
call fcn.007c1be0
mov ecx, 1
mov edx, 1
push 0x7d60dc
call fcn.007c1be0
mov edx, dword [esp]
mov ecx, esi
push 0x7d617c
call fcn.007c1be0
mov edx, dword [esp]
mov ecx, eax
push 0x7d613c
call fcn.007c1be0
mov edx, dword [esp]
mov ecx, esi
push 0x7d60ec
call fcn.007c1be0
mov ecx, 2
mov edx, 2
push 0x7d614c
call fcn.007c1be0
mov edx, dword [esp]
mov ecx, eax
push 0x7d615c
call fcn.007c1be0
push 0x7d6298
call fcn.007c1be0
push 0x7d62a8
call fcn.007c1be0
push 0x7d62b8
call fcn.007c1be0
push 0x7d62c8
call fcn.007c1be0
mov ecx, 0x7d7178
call fcn.007c1fe0
push 0x7d62d8
call fcn.007c1b80
lea ecx, [esp + 0x4c]
mov edx, 0x7d6268
mov dword [esp + 0x4c], 0x7d6260
mov dword [esp + 0x50], 1
mov dword [esp + 0x5c], 0
mov dword [esp + 0x54], 0x93d1f8
mov dword [esp + 0x58], 0
call fcn.007c1b50
call fcn.00418cb0
mov ecx, 4
mov edx, edi
call fcn.007c1490
mov dword [esp + 0x4c], 0
lea eax, [esp + 0x4c]
lea edx, [esp + 0x38]
mov ecx, 0x93c034
push 0x7d622c
push eax
call fcn.007c11b0
mov ecx, eax
push 0x7d618c
call fcn.007c1c40
mov ecx, esi
push 0x7d611c
call fcn.007c1b80
mov ecx, ebx
mov edx, edi
push 0x7d60fc
call fcn.007c1c40
lea ecx, [esp + 0x38]
lea edx, [esp + 0x4c]
mov dword [esp + 0x4c], 0
call fcn.007c11e0
ud2