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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x94
mov ebx, ecx
mov eax, dword [esp + 0xa8]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x14], 0x100000
mov dword [esp + 4], 0
lea ecx, [esp + 0x14]
lea eax, [esp + 4]
push 4
push 0x3000
push ecx
push 0
push eax
push 0xffffffffffffffff
call dword [0x443d34]
test eax, eax
js 0x43140e
mov dword [esp + 0x90], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
lea edx, [esp + 0x18]
lea eax, [esp + 0x1c]
rol eax, 0xd
lea ecx, [eax + eax]
and ecx, 0x16980820
neg ecx
add eax, ecx
add eax, 0x8b4c2410
mov esi, eax
xor esi, 0x30
mov ecx, edx
and ecx, 0xc
ror esi, cl
mov dword [esp + 0x6c], esi
rol esi, cl
mov ecx, edx
and cl, 0xc
mov byte [esp + 0xb], cl
mov dword [esp + 0x70], eax
xor esi, eax
mov dword [esp + 0x68], esi
mov dword [esp + 0x2c], 0x10000
mov dword [esp], 0
mov ecx, dword [0x443d28]
test ecx, ecx
je 0x4313f7
mov esi, dword [ebx]
mov eax, dword [0x443d2c]
add eax, 8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax - 8], 0x6d705e18
je 0x430f00
add eax, 0xc
dec ecx
jne 0x430ee0
jmp 0x4313f7
mov byte [esp + 0x28], 0
mov dword [esp + 0x24], 0x900000c2
mov dword [esp + 0x20], 0xd2ff0000
mov dword [esp + 0x1c], 0xba00
mov dword [esp + 0x18], 0xb8
mov eax, dword [eax]
mov dword [esp + 0x19], eax
mov eax, dword [0x443d30]
mov dword [esp + 0x1e], eax
mov word [esp + 0x25], 0x18
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0x10
push 0x40
push 0x3000
lea eax, [esp + 0x44]
push eax
push 0
lea ebp, [esp + 0x50]
push ebp
push 0xffffffffffffffff
call dword [0x443d34]
mov edi, dword [esp + 0x40]
lea eax, [esp + 0x18]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
push 0
push 0x1c
lea eax, [esp + 0x80]
push eax
push 0
push dword [esp + 0x3c]
push esi
call dword [esp + 0x58]
mov edi, eax
mov dword [esp + 0x38], 0
push 0x8000
lea eax, [esp + 0x3c]
push eax
push ebp
push 0xffffffffffffffff
call dword [0x443d38]
cmp edi, 0xbfffffff
ja 0x4313f7
test edi, edi
js 0x4313dd
cmp dword [esp + 0x88], 0x1000
jne 0x4313dd
cmp dword [esp + 0x8c], 1
je 0x4313dd
mov esi, dword [esp + 0x14]
cmp dword [esp + 0x84], esi
jbe 0x431038
push 0x8000
lea eax, [esp + 0x5c]
push eax
lea esi, [esp + 0xc]
push esi
push 0xffffffffffffffff
call dword [0x443d38]
mov dword [esp + 4], 0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x14], eax
push 4
push 0x3000
lea eax, [esp + 0x1c]
push eax
push 0
push esi
push 0xffffffffffffffff
call dword [0x443d34]
test eax, eax
js 0x4313f7
mov esi, dword [esp + 0x14]
mov ecx, dword [0x443d28]
test ecx, ecx
je 0x4313dd
mov ebp, dword [esp + 4]
mov dword [esp + 0x10], ebx
mov ebx, dword [ebx]
mov eax, dword [0x443d2c]
add eax, 8
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax - 8], 0xb7fd7148
je 0x431074
add eax, 0xc
dec ecx
jne 0x431060
jmp 0x4313d9
mov byte [esp + 0x28], 0
mov dword [esp + 0x24], 0x900000c2
mov dword [esp + 0x20], 0xd2ff0000
mov dword [esp + 0x1c], 0xba00
mov dword [esp + 0x18], 0xb8
mov eax, dword [eax]
mov dword [esp + 0x19], eax
mov eax, dword [0x443d30]
mov dword [esp + 0x1e], eax
mov word [esp + 0x25], 0x14
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0x10
push 0x40
push 0x3000
lea eax, [esp + 0x44]
push eax
push 0
lea eax, [esp + 0x50]
push eax
push 0xffffffffffffffff
call dword [0x443d34]
mov edi, dword [esp + 0x40]
lea eax, [esp + 0x18]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x74]
push eax
push esi
push ebp
push dword [esp + 0x38]
push ebx
lea esi, [esp + 0x54]
call dword [esp + 0x54]
mov edi, eax
mov dword [esp + 0x38], 0
push 0x8000
lea eax, [esp + 0x3c]
push eax
push esi
push 0xffffffffffffffff
call dword [0x443d38]
cmp edi, 0xbfffffff
ja 0x4313d9
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push dword [esp + 0x80]
push dword [esp + 0x14]
push esi
call fcn.00431430
add esp, 0x18
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x50], ecx
cmp eax, ecx
je 0x4313d9
mov ebx, dword [esp + 0xa8]
mov esi, dword [ebx]
mov ecx, dword [ebx + 8]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x5c], eax
mov ecx, eax
mov edi, dword [esp]
jmp 0x4311a0
mov esi, dword [esp]
mov dword [esi + ebx*4], edx
add edi, 4
mov eax, dword [esp + 0xa8]
mov dword [eax + 4], edi
add ecx, 4
cmp ecx, dword [esp + 0x50]
je 0x4313b6
mov ebx, esi
mov esi, edi
mov eax, ebx
xor eax, edi
mov edi, ebx
not edi
mov ebp, edi
and ebp, esi
add ebp, ebp
sub ebp, eax
mov edx, dword [ecx]
sub edx, dword [esp + 4]
sar ebp, 2
cmp esi, dword [esp + 0xc]
mov dword [esp + 0x54], esi
je 0x4311e0
mov edi, esi
sub esi, ebx
sar esi, 2
mov dword [esp], ebx
mov eax, ebx
mov ebx, esi
jmp 0x431375
lea eax, [ebp + 1]
mov dword [esp], eax
mov eax, esi
mov dword [esp + 0xc], ebx
sub eax, ebx
mov dword [esp + 0x30], eax
sar eax, 2
mov ebx, eax
shr ebx, 1
mov dword [esp + 0x4c], eax
add ebx, eax
mov eax, dword [esp]
cmp ebx, eax
ja 0x431208
mov ebx, eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x34], ecx
mov eax, 0xffffffff
cmp ebx, 0x40000000
jae 0x431224
lea eax, [ebx*4]
mov dword [esp + 0x60], ebx
movzx ecx, byte [esp + 0xb]
mov byte [esp + 0x18], cl
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x68]
mov ecx, dword fs:[ecx]
push eax
push 0
push dword [ecx + 0x18]
call dword [0x444380]
mov esi, eax
mov eax, dword [esp + 0xc]
test eax, eax
mov dword [esp], esi
mov ebx, dword [esp + 0x4c]
je 0x431353
cmp esi, eax
jae 0x43127c
mov edi, esi
mov ecx, dword [esp + 0x30]
xchg esi, eax
rep movsb byte es:[edi], byte [esi]
xchg esi, eax
jmp 0x431340
mov ebx, dword [esp + 0x30]
test ebx, ebx
je 0x431340
mov eax, dword [esp + 0xc]
add eax, ebx
dec eax
lea ecx, [esi + ebx]
dec ecx
add edi, dword [esp + 0x54]
mov esi, ebx
and esi, 7
je 0x4312c6
neg esi
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [eax + edx]
mov byte [ecx + edx], bl
dec edx
cmp esi, edx
jne 0x4312b0
add eax, edx
add ecx, edx
mov ebx, dword [esp + 0x30]
add ebx, edx
cmp edi, 7
mov esi, dword [esp]
jb 0x431340
neg ebx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, ebx
movzx ebx, byte [eax + edx]
mov byte [ecx + edx], bl
movzx ebx, byte [eax + edx - 1]
mov byte [ecx + edx - 1], bl
movzx ebx, byte [eax + edx - 2]
mov byte [ecx + edx - 2], bl
movzx ebx, byte [eax + edx - 3]
mov byte [ecx + edx - 3], bl
movzx ebx, byte [eax + edx - 4]
mov byte [ecx + edx - 4], bl
movzx ebx, byte [eax + edx - 5]
mov byte [ecx + edx - 5], bl
movzx ebx, byte [eax + edx - 6]
mov byte [ecx + edx - 6], bl
movzx ebx, byte [eax + edx - 7]
mov byte [ecx + edx - 7], bl
mov ebx, edi
add edx, 0xfffffff8
cmp edi, edx
jne 0x4312e0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0xc]
push edi
call fcn.004302c0
mov eax, edi
add esp, 4
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0xa8]
mov dword [ecx], esi
lea edi, [esi + ebp*4]
mov edx, dword [esp + 0x60]
lea edx, [esi + edx*4]
mov dword [esp + 0xc], edx
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x64]
add edx, dword [esp + 0x2c]
cmp ebx, ebp
jae 0x431180
lea eax, [eax + ebp*4]
sub eax, dword [esp + 0x54]
je 0x431180
mov dword [esp + 0x34], ecx
mov ecx, dword [esp]
lea esi, [ecx + ebx*4]
mov ebp, edx
lea edx, [ecx + ebx*4]
add edx, 4
push eax
push esi
push edx
call fcn.00408d30
mov edx, ebp
mov ecx, dword [esp + 0x40]
add esp, 0xc
jmp 0x431180
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x4313d6
mov dword [esp], edi
cmp eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x10]
je 0x4313dd
push eax
call fcn.004302c0
add esp, 4
jmp 0x4313dd
mov dword [esp], edi
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x84]
add eax, dword [esp + 0x78]
mov dword [esp + 0x2c], eax
cmp eax, 0x7fffffff
jb 0x430eba
push 0x8000
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0xc]
push eax
push 0xffffffffffffffff
call dword [0x443d38]
mov eax, dword [esp + 0xa8]
add esp, 0x94
pop esi
pop edi
pop ebx
pop ebp
ret 0x10