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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x30]
push ebx
mov ebx, dword [ebp + 0x1c]
cmp dword [ebx + 0x1c], 3
push esi
push edi
mov byte [eax], 0
jne 0x429f9a
mov eax, dword [ebx + 8]
test eax, eax
je 0x429f1f
mov eax, dword [eax + 0x84]
mov ecx, dword [ebx + 0x84]
call fcn.0043acf1
jmp 0x429f30
mov esi, dword [ebp + 0x10]
push 9
add esi, 4
lea edi, [ebx + 0x88]
pop ecx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 8]
lea ecx, [ebx + 0x22]
push ecx
mov ecx, dword [ebx + 0x84]
add ecx, 0x28
push ecx
push dword [ebp + 0x30]
lea ecx, [ebp + 0x1f]
push ecx
movzx ecx, word [ebx + 0x20]
push ecx
lea eax, [ebx + 0xc]
push esi
call fcn.004263e9
test eax, eax
jne 0x42a3de
mov eax, dword [ebp + 0x18]
movzx eax, byte [eax + 0x15d]
push eax
lea eax, [ebx + 0xae]
push eax
lea eax, [ebx + 0x30]
push eax
lea eax, [ebx + 0x2e]
push eax
lea eax, [ebx + 0x2c]
push eax
movzx eax, word [ebx + 0x20]
lea edi, [ebx + 0x2a]
push eax
call fcn.00425f1b
test eax, eax
jne 0x42a3de
cmp byte [ebp + 0x1f], al
setne al
mov dword [ebx + 0x1c], eax
mov eax, dword [ebx + 0x1c]
test eax, eax
jne 0x42a124
push dword [ebp + 0x38]
mov eax, dword [ebx + 0x84]
push dword [ebp + 0x34]
lea ecx, [ebx + 0x80]
push ecx
lea edx, [ebx + 0x7e]
push edx
push dword [eax + 0x20]
mov dword [ebp + 0x1c], ecx
push dword [eax + 0x1c]
movzx ecx, word [eax + 0x28]
push ecx
mov ecx, dword [ebp + 0x30]
movzx ecx, byte [ecx]
push ecx
push dword [ebp + 0xc]
lea edi, [ebx + 0xc]
push edi
push dword [eax + 0x10]
mov dword [ebp + 0x14], edx
push dword [eax + 0x14]
push dword [eax + 0x18]
lea eax, [ebp + 0x30]
push eax
call fcn.0042667f
test eax, eax
jne 0x42a3de
mov esi, dword [ebx + 0x84]
call fcn.0042bc07
lea eax, [ebp + 0x33]
push eax
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x1c]
push dword [eax]
mov eax, dword [ebp + 0x14]
movzx eax, word [eax]
push eax
lea eax, [ebx + 0x22]
push eax
lea eax, [ebx + 0x88]
push eax
movzx eax, byte [ebx + 0xac]
push eax
movzx eax, word [ebx + 0xae]
push eax
movzx eax, word [ebx + 0x30]
mov esi, dword [ebp + 0x10]
push eax
movzx eax, word [ebx + 0x2e]
push eax
movzx eax, word [ebx + 0x2c]
push eax
movzx eax, word [ebx + 0x2a]
push eax
movzx eax, word [esi]
push eax
push dword [ebp + 0x28]
push dword [ebp + 0x2c]
push dword [ebx + 0x84]
push dword [ebp + 0x24]
push dword [ebp + 0x18]
call fcn.0042a3f3
test eax, eax
jne 0x42a3de
mov edx, dword [esi + 0x30]
mov ecx, dword [ebp + 0x28]
call fcn.0042a9a3
test al, al
jne 0x42a081
push 2
pop eax
jmp 0x42a085
mov ax, word [ebp + 0xc]
push dword [ebx + 0x54]
mov word [ebx + 0x7c], ax
mov eax, dword [ebx + 0x44]
call fcn.0042153a
push dword [ebx + 0x50]
mov esi, eax
mov eax, dword [ebx + 0x48]
call fcn.0042153a
sub esi, eax
jns 0x42a0da
mov eax, dword [ebx + 0x84]
xor edx, edx
xor esi, esi
xor ecx, ecx
cmp dx, word [eax + 0x28]
jge 0x42a0dc
xor eax, eax
mov edx, dword [ebx + 0x84]
mov edx, dword [edx + 0x2c]
xor byte [eax + edx], 1
mov edx, dword [ebx + 0x84]
movsx edx, word [edx + 0x28]
inc ecx
movzx eax, cx
cmp eax, edx
jge 0x42a0dc
jmp 0x42a0b9
xor esi, esi
cmp dword [ebx + 8], esi
je 0x42a0f9
mov eax, dword [ebp + 0x10]
movzx eax, word [eax]
push eax
push ebx
push dword [ebp + 0x18]
call fcn.0042a741
cmp eax, esi
jne 0x42a3de
cmp dword [edi + 0xc], esi
je 0x42a112
push dword [edi + 8]
mov eax, dword [ebp + 8]
call dword [eax + 8]
mov dword [edi + 8], esi
mov dword [edi + 0xc], esi
mov dword [edi + 4], esi
mov dword [edi], esi
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x14]
mov dword [eax], esi
xor eax, eax
mov word [ecx], ax
jmp 0x42a3dc
push 2
pop ecx
cmp eax, ecx
jne 0x42a24e
lea eax, [ebp + 0x33]
push eax
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0xc]
push eax
push dword [ebx + 0x80]
movzx eax, word [ebx + 0x7e]
push eax
lea eax, [ebx + 0x22]
push eax
lea eax, [ebx + 0x88]
push eax
movzx eax, byte [ebx + 0xac]
push eax
movzx eax, word [ebx + 0xae]
push eax
movzx eax, word [ebx + 0x30]
mov esi, dword [ebp + 0x10]
push eax
movzx eax, word [ebx + 0x2e]
push eax
movzx eax, word [ebx + 0x2c]
push eax
movzx eax, word [ebx + 0x2a]
push eax
movzx eax, word [esi]
push eax
push dword [ebp + 0x28]
push dword [ebp + 0x2c]
push dword [ebx + 0x84]
push dword [ebp + 0x24]
push dword [ebp + 0x18]
call fcn.0042a59b
xor edi, edi
cmp eax, edi
jne 0x42a3de
cmp byte [ebx + 0x68], 0
je 0x42a1e7
mov eax, dword [ebx + 0x84]
movsx ecx, word [eax + 0x28]
mov edx, dword [eax + 0x20]
mov cx, word [edx + ecx*2 - 2]
mov esi, dword [eax]
mov edi, dword [ebx + 0x6c]
inc cx
movzx edx, cx
mov ecx, edx
mov dword [esi + ecx*4], edi
mov esi, dword [eax + 4]
mov edi, dword [ebx + 0x70]
mov dword [esi + ecx*4], edi
mov esi, dword [ebx + 0x74]
inc edx
movzx ecx, dx
mov edx, dword [eax]
mov dword [edx + ecx*4], esi
mov eax, dword [eax + 4]
mov edx, dword [ebx + 0x78]
mov esi, dword [ebp + 0x10]
mov dword [eax + ecx*4], edx
xor edi, edi
cmp byte [ebp + 0x33], 0
je 0x42a209
mov edx, dword [esi + 0x30]
mov ecx, dword [ebp + 0x28]
call fcn.0042a9a3
test al, al
jne 0x42a201
push 2
pop eax
jmp 0x42a205
mov ax, word [ebp + 0xc]
mov word [ebx + 0x7c], ax
cmp dword [ebx + 8], edi
je 0x42a223
movzx eax, word [esi]
push eax
push ebx
push dword [ebp + 0x18]
call fcn.0042a741
cmp eax, edi
jne 0x42a3de
cmp dword [ebx + 0x18], edi
je 0x42a23d
push dword [ebx + 0x14]
mov eax, dword [ebp + 8]
call dword [eax + 8]
mov dword [ebx + 0x14], edi
mov dword [ebx + 0x18], edi
mov dword [ebx + 0x10], edi
mov dword [ebx + 0xc], edi
xor eax, eax
mov dword [ebx + 0x80], edi
mov word [ebx + 0x7e], ax
jmp 0x42a3dc
cmp eax, 1
jne 0x42a3dc
and dword [ebp + 0x28], 0
mov byte [ebp + 0x33], 0
mov byte [ebp + 0x13], 0
mov byte [ebp + 0x1b], 0
mov dword [ebx + 0x1c], ecx
mov ecx, dword [ebp + 0xc]
lea eax, [ecx + 0x1e]
cmp word [eax], 1
jae 0x42a27b
mov eax, 0x404f5c
movzx edx, word [ebx + 0x32]
movzx eax, word [eax]
inc edx
cmp edx, eax
ja 0x42a3e5
inc dword [ebp + 0x28]
lea eax, [ecx + 0x1c]
cmp word [eax], 3
jae 0x42a29c
mov eax, 0x404f58
mov cx, word [ebp + 0x28]
cmp cx, word [eax]
ja 0x42a3e5
mov edx, dword [ebp + 0x20]
lea eax, [ebp + 0x2c]
push eax
push dword [ebp + 0x14]
call fcn.0042a9e4
test eax, eax
jne 0x42a3de
mov ax, word [ebx + 0x32]
inc ax
movzx eax, ax
push eax
mov eax, dword [ebp + 0x2c]
push 0
push edx
call fcn.0042aa22
mov ecx, dword [ebx + 4]
test ecx, ecx
jne 0x42a2e3
mov dword [ebx + 4], eax
jmp 0x42a2e9
mov ecx, dword [ecx]
cmp dword [ecx], ebx
jne 0x42a2e1
mov dword [ecx], eax
push 9
pop ecx
lea edi, [eax + 0x88]
mov dword [eax], ebx
mov dword [eax + 8], ebx
lea edx, [ebp + 0x33]
push edx
lea esi, [ebx + 0x88]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 0x2c]
mov al, byte [ebx + 0xac]
lea edx, [ebp + 0xb]
push edx
lea ecx, [edi + 0x44]
push ecx
lea ecx, [edi + 0x40]
push ecx
lea ecx, [edi + 0x3e]
push ecx
lea ecx, [edi + 0x3c]
push ecx
lea ecx, [edi + 0x3a]
push ecx
lea esi, [edi + 0x20]
push esi
lea ecx, [ebp + 0x13]
push ecx
lea ecx, [edi + 0x6a]
push ecx
lea ecx, [edi + 0x69]
push ecx
lea ecx, [edi + 0x38]
push ecx
lea ecx, [edi + 0x34]
mov byte [edi + 0xac], al
lea eax, [ebx + 0xc]
push ecx
push eax
call fcn.00426b4a
mov ecx, dword [ebp + 0xc]
mov dword [ebp + 0x24], eax
mov ax, word [esi]
cmp ax, word [ecx + 4]
jae 0x42a3ec
cmp byte [ebp + 0xb], 0
je 0x42a3ab
lea esi, [edi + 0x88]
lea eax, [edi + 0x44]
call fcn.004216dc
cmp dword [edi + 0x48], 0
jne 0x42a3a4
cmp dword [edi + 0x50], 0
jne 0x42a3a4
mov ecx, dword [edi + 0x44]
mov edx, ecx
test ecx, ecx
jns 0x42a389
neg edx
mov eax, dword [edi + 0x54]
test eax, eax
jns 0x42a392
neg eax
cmp edx, eax
jne 0x42a3a4
test ecx, ecx
jns 0x42a39c
neg ecx
cmp ecx, 0x10000
je 0x42a3ab
mov byte [edi + 0xac], 0
mov eax, dword [ebp + 0x24]
test eax, eax
jne 0x42a3de
mov al, byte [ebp + 0x1b]
or al, byte [ebp + 0x13]
cmp byte [ebp + 0x33], 0
mov byte [ebp + 0x1b], al
je 0x42a26a
test al, al
je 0x42a3dc
lea esi, [ebx + 0xc]
lea ecx, [ebx + 0x7e]
sub ebx, 0xffffff80
push ebx
call fcn.00426d8c
test eax, eax
jne 0x42a3de
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret 0x34
mov eax, 0x140b
jmp 0x42a3de
mov eax, 0x1410
jmp 0x42a3de