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

Disassembly:
sub esp, 0x7c
push ebx
push ebp
push esi
mov esi, dword [esp + 0xa0]
xor ebp, ebp
xor eax, eax
cmp esi, ebp
push edi
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
jne 0x429d16
lea esi, [esp + 0x48]
mov ebx, dword [esp + 0x90]
mov ecx, 6
xor eax, eax
lea edi, [esp + 0x5c]
mov dword [esi + 4], ebp
mov dword [esi], ebp
mov dword [esi + 8], ebp
rep stosd dword es:[edi], eax
test dword [ebx + 0x23c], 0x400000
je 0x429d48
mov eax, dword [esp + 0x70]
or al, 0x10
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x9c]
cmp edi, ebp
je 0x429de1
lea eax, [esp + 0x14]
push ebp
push eax
push ebx
call dword [ebx + 0x164]
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x429fe4
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x5c]
push 0x1e
push ecx
push edi
push eax
call dword [eax + 0x4c]
mov edx, dword [edi]
mov eax, dword [edi + 4]
mov dword [esp + 0x34], edx
push esi
lea ecx, [esp + 0x38]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xac]
push 5
lea edx, [esp + 0x74]
push ecx
mov ecx, dword [esp + 0xb0]
push edx
push eax
push ecx
push ebx
call fcn.0042b1e0
mov ebp, eax
mov eax, dword [esp + 0x40]
push 0
push eax
call dword [eax + 0x48]
add esp, 0x34
test eax, eax
je 0x429dca
test ebp, ebp
jne 0x429dca
mov ebp, eax
cmp ebp, 0xffff874e
jne 0x429dd9
xor ebp, ebp
jmp 0x429fe4
test ebp, ebp
jne 0x429fe4
mov eax, dword [esi]
test eax, eax
je 0x429fe4
mov edx, dword [esi + 8]
push 0x42a070
push 0x2c
push eax
push edx
call fcn.004940ad
mov ecx, dword [esi]
add esp, 0x10
xor ebx, ebx
xor edi, edi
test ecx, ecx
mov dword [esp + 0x10], 0xffffffff
jle 0x429fdd
mov eax, dword [esi + 8]
mov dword [esp + 0x18], ecx
add eax, 0xc
mov dword [esp + 0x1c], eax
test byte [eax + 0x1c], 1
jne 0x429e42
mov edx, dword [eax]
cmp edx, ebx
jne 0x429e38
mov ecx, dword [esp + 0x10]
cmp dword [eax - 4], ecx
je 0x429e42
mov ebx, edx
mov edx, dword [eax - 4]
mov dword [esp + 0x10], edx
inc edi
mov ecx, dword [esp + 0x18]
add eax, 0x2c
dec ecx
mov dword [esp + 0x18], ecx
jne 0x429e23
test edi, edi
je 0x429fdd
cmp edi, 1
jne 0x429eb2
mov ecx, 6
xor eax, eax
lea edi, [esp + 0x74]
lea edx, [esp + 0x74]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x38]
push ecx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xac]
push 2
push edx
push 0
push eax
mov eax, dword [esp + 0xa4]
push eax
mov dword [esp + 0x90], 0x1c
call dword [eax + 0x19c]
mov ebx, dword [esp + 0xa8]
add esp, 0x18
mov ebp, eax
jmp 0x42a01e
mov edx, dword [esp + 0x90]
lea ecx, [esp + 0x30]
push ecx
push 0x20
push edi
push edx
mov dword [esp + 0x3c], edi
call fcn.004184e0
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x429fdd
mov ecx, dword [esp + 0x90]
lea eax, [esp + 0x34]
push eax
push 0x18
push edi
push ecx
call fcn.004184e0
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x429fdd
mov eax, dword [esi]
xor ebx, ebx
or ebp, 0xffffffff
cmp eax, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
jle 0x429f9d
xor ecx, ecx
xor edi, edi
xor eax, eax
mov edx, dword [esi + 8]
add edx, edi
test byte [edx + 0x28], 1
jne 0x429f89
mov ebx, dword [edx + 0xc]
cmp ebx, dword [esp + 0x18]
jne 0x429f34
cmp dword [edx + 8], ebp
je 0x429f89
mov ebp, dword [edx + 8]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x18], ebx
mov dword [eax + edx], 1
mov edx, dword [esp + 0x30]
mov dword [eax + edx + 4], 2
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
add edx, ecx
mov dword [eax + ebx + 0xc], edx
mov edx, dword [esi + 8]
mov ebx, dword [esp + 0x34]
add eax, 0x20
lea edx, [edi + edx + 0xc]
mov dword [ecx + ebx], edx
mov edx, dword [esp + 0x34]
mov dword [ecx + edx + 4], 0x1c
mov edx, dword [esp + 0x10]
inc edx
add ecx, 0x18
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x1c]
mov ebx, dword [esi]
inc edx
add edi, 0x2c
cmp edx, ebx
mov dword [esp + 0x1c], edx
jl 0x429f1b
xor ebx, ebx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0xa8]
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x94]
push ecx
push edx
push ebx
push edi
push eax
call dword [eax + 0x1b4]
mov ebp, eax
add esp, 0x18
cmp ebp, ebx
je 0x429fdd
mov eax, dword [esp + 0x90]
push edi
push eax
call fcn.00429cc0
add esp, 8
mov ebx, dword [esp + 0x90]
mov eax, dword [esp + 0x34]
test eax, eax
je 0x429ff6
push eax
push ebx
call fcn.00418640
add esp, 8
mov eax, dword [esp + 0x30]
test eax, eax
je 0x42a008
push eax
push ebx
call fcn.00418640
add esp, 8
mov ecx, dword [esi]
mov edx, dword [esi + 8]
push 0x42a0e0
push 0x2c
push ecx
push edx
call fcn.004940ad
add esp, 0x10
xor edi, edi
cmp ebp, edi
jne 0x42a02d
cmp dword [esp + 0xa4], edi
jne 0x42a047
cmp dword [esi + 4], edi
je 0x42a047
mov eax, dword [esi + 8]
push eax
push ebx
call fcn.00418640
add esp, 8
mov dword [esi + 8], edi
mov dword [esi + 4], edi
mov dword [esi], edi
test byte [esp + 0x70], 0x10
je 0x42a060
mov eax, dword [esp + 0x5c]
cmp eax, edi
je 0x42a060
push eax
push ebx
call fcn.00418430
add esp, 8
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret