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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4725e6
mov eax, dword fs:[0]
push eax
sub esp, 0x90
push ebx
push esi
push edi
mov eax, dword [0x477008]
xor eax, esp
push eax
lea eax, [esp + 0xa0]
mov dword fs:[0], eax
mov edx, ecx
mov dword [esp + 0x24], edx
xor esi, esi
mov dword [esp + 0x20], esi
mov dword [esp + 0xa8], esi
mov dword [esp + 0x18], esi
mov byte [esp + 0xa8], 1
mov dword [esp + 0x30], esi
mov byte [esp + 0xa8], 2
mov dword [esp + 0x2c], esi
mov byte [esp + 0xa8], 3
mov dword [esp + 0x38], esi
mov byte [esp + 0xa8], 4
mov dword [esp + 0x1c], esi
mov byte [esp + 0xa8], 5
mov dword [esp + 0x34], esi
mov ebx, esi
mov byte [esp + 0xa8], 6
mov dword [esp + 0x28], ebx
mov byte [esp + 0xa8], 7
or dword [esp + 0x44], 0xffffffff
mov byte [esp + 0xa8], 8
lea edi, [esp + 0x60]
xor eax, eax
mov dword [esp + 0x14], esi
stosd dword es:[edi], eax
push 9
pop ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [esp + 0x4c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [esp + 0x78]
rep stosd dword es:[edi], eax
cmp dword [edx + 0x20], esi
jne 0x42059f
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x60]
test eax, eax
je 0x420520
cmp dword [esp + 0x60], 0
je 0x420520
mov ecx, eax
call fcn.00427e0b
lea eax, [esp + 0x4c]
test eax, eax
je 0x420536
cmp dword [esp + 0x4c], 0
je 0x420536
mov ecx, eax
call fcn.00427e0b
lea eax, [esp + 0x14]
test eax, eax
je 0x42054c
cmp dword [esp + 0x14], 0
je 0x42054c
mov ecx, eax
call fcn.00427abb
mov eax, dword [esp + 0x44]
test eax, eax
je 0x420559
cmp eax, 0xffffffff
jne 0x42055b
xor eax, eax
mov ecx, dword [esp + 0x24]
push eax
call fcn.0042038e
mov ecx, esi
call fcn.00427547
lea ecx, [esp + 0x44]
mov byte [esp + 0xa8], 7
call fcn.004230b0
mov byte [esp + 0xa8], 6
test ebx, ebx
je 0x420b0a
mov ecx, ebx
call fcn.004274da
xor ebx, ebx
mov dword [esp + 0x28], ebx
jmp 0x420b0c
cmp dword [edx + 0x18], 1
jne 0x420502
lea eax, [esp + 0x44]
mov ecx, edx
push eax
call fcn.0041f5fa
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
jns 0x4205cb
mov ecx, esi
call fcn.0042752a
jmp 0x420506
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x18]
mov edx, dword [edx + 8]
call fcn.00427838
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
js 0x4205bf
mov esi, dword [esp + 0x78]
mov dword [esp + 0x10], esi
test esi, esi
je 0x4205f8
js 0x4205bf
lea edx, [esp + 0x60]
lea ecx, [esp + 0x14]
call fcn.00428180
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
js 0x4205bf
mov edi, dword [esp + 0x68]
lea ecx, [esp + 0x60]
and dword [esp + 0x3c], 0
mov dword [esp + 0x40], edi
call fcn.00427e0b
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
js 0x4205bf
push 0x4097c4
lea eax, [esp + 0x20]
push 0x409834
push eax
call fcn.004255e4
mov esi, eax
add esp, 0xc
mov dword [esp + 0x10], esi
test esi, esi
js 0x4205bf
test edi, edi
je 0x420506
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x20], 0
je 0x420aff
lea edx, [esp + 0x60]
lea ecx, [esp + 0x14]
call fcn.00428180
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
js 0x420af3
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x40]
lea edx, [esp + 0x68]
lea ecx, [esp + 0x1c]
call fcn.00427e78
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
js 0x420af3
xor esi, esi
cmp dword [esp + 0x20], esi
je 0x4206cb
push dword [esp + 0x20]
push esi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esp + 0x20], esi
cmp dword [esp + 0x18], 0
mov dword [esp + 0x20], esi
je 0x4206ec
push dword [esp + 0x18]
push esi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esp + 0x18], esi
cmp dword [esp + 0x30], 0
mov dword [esp + 0x18], esi
je 0x42070d
push dword [esp + 0x30]
push esi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esp + 0x30], esi
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x30], esi
je 0x42072e
push dword [esp + 0x2c]
push esi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esp + 0x2c], esi
lea eax, [esp + 0x20]
mov dword [esp + 0x2c], esi
push eax
push 0x4097ec
push 0x409864
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.00427f61
mov esi, eax
add esp, 0x14
mov dword [esp + 0x10], esi
test esi, esi
js 0x420af3
lea eax, [esp + 0x18]
push eax
push 0x409800
push 0x409864
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.00427f61
mov esi, eax
add esp, 0x14
mov dword [esp + 0x10], esi
test esi, esi
js 0x420af3
lea eax, [esp + 0x30]
push eax
push 0x409808
push 0x409864
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.00427f61
mov esi, eax
add esp, 0x14
mov dword [esp + 0x10], esi
test esi, esi
js 0x420af3
lea eax, [esp + 0x2c]
push eax
push 0x409824
push 0x409864
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.00427f61
mov esi, eax
add esp, 0x14
mov dword [esp + 0x10], esi
test esi, esi
js 0x420af3
lea ecx, [esp + 0x4c]
call fcn.00427e0b
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
js 0x420af3
lea ecx, [esp + 0x60]
call fcn.00427e0b
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
js 0x420af3
cmp dword [esp + 0x2c], 0
je 0x4209ff
cmp dword [esp + 0x20], 0
je 0x4209ff
cmp dword [esp + 0x18], 0
je 0x4209ff
cmp dword [esp + 0x30], 0
je 0x4209ff
mov esi, dword [esp + 0x34]
test esi, esi
je 0x42085f
mov ecx, esi
call fcn.004274da
xor esi, esi
mov dword [esp + 0x34], esi
jmp 0x420861
xor esi, esi
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x34], esi
test ecx, ecx
je 0x420876
call fcn.004274da
mov dword [esp + 0x38], esi
mov dword [esp + 0x38], esi
test ebx, ebx
je 0x420889
mov ecx, ebx
call fcn.004274da
mov dword [esp + 0x28], esi
mov ebx, esi
lea eax, [esp + 0x34]
mov dword [esp + 0x28], ebx
push dword [esp + 0x2c]
push 0x409834
push eax
call fcn.004255e4
mov esi, eax
add esp, 0xc
mov dword [esp + 0x10], esi
test esi, esi
js 0x420af3
mov esi, dword [esp + 0x34]
lea eax, [esp + 0x74]
push eax
mov edx, esi
mov ecx, edi
call fcn.0041f8d1
mov dword [esp + 0x10], eax
test eax, eax
js 0x420aef
cmp dword [esp + 0x74], 0
je 0x4209be
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x48]
call fcn.00424afb
test eax, eax
js 0x420ad1
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x48]
cmp eax, dword [ecx + 0x14]
jne 0x420976
test esi, esi
je 0x420912
mov ecx, esi
call fcn.004274da
and dword [esp + 0x34], 0
mov ecx, dword [esp + 0x24]
and dword [esp + 0x34], 0
lea eax, [esp + 0x34]
push eax
call fcn.0041f7b1
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
js 0x420af3
lea eax, [esp + 0x28]
push eax
push ecx
push dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
push dword [esp + 0x2c]
call fcn.004201c7
mov ebx, dword [esp + 0x28]
mov esi, eax
test esi, esi
js 0x420ad1
test ebx, ebx
je 0x4209ff
mov ecx, dword [esp + 0x24]
push ebx
call fcn.0041f84d
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
js 0x420af3
jmp 0x42099b
lea eax, [esp + 0x28]
push eax
push ecx
push dword [esp + 0x20]
push dword [esp + 0x2c]
call fcn.004201c7
mov ebx, dword [esp + 0x28]
mov esi, eax
test esi, esi
js 0x420ad1
test ebx, ebx
je 0x4209ff
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x4c]
push ebx
call fcn.0041f946
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
js 0x420af3
jmp 0x4209ff
push dword [esp + 0x2c]
lea eax, [esp + 0x3c]
push 0x409834
push eax
call fcn.004255e4
mov esi, eax
add esp, 0xc
mov dword [esp + 0x10], esi
test esi, esi
js 0x420af3
lea eax, [esp + 0x28]
push eax
push ecx
push dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
push dword [esp + 0x2c]
call fcn.004201c7
mov ebx, dword [esp + 0x28]
mov esi, eax
test esi, esi
js 0x420ad1
lea ecx, [esp + 0x14]
call fcn.00428399
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
js 0x420af3
lea edx, [esp + 0x60]
lea ecx, [esp + 0x14]
call fcn.00428180
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
js 0x420af3
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x40]
lea edx, [esp + 0x68]
lea ecx, [esp + 0x1c]
call fcn.00427e78
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
js 0x420af3
lea edx, [esp + 0x4c]
lea ecx, [esp + 0x14]
call fcn.00428402
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
js 0x420af3
lea ecx, [esp + 0x4c]
call fcn.00427e0b
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
js 0x420af3
lea ecx, [esp + 0x60]
call fcn.00427e0b
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
js 0x420af3
lea ecx, [esp + 0x14]
call fcn.004283e9
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
js 0x420af3
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x14]
mov edx, dword [eax + 8]
call fcn.00427a36
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
js 0x420af3
dec dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
jmp 0x420ae0
mov eax, dword [esp + 0x3c]
inc eax
xor esi, esi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x10], esi
cmp dword [esp + 0x40], eax
ja 0x420660
jmp 0x42050a
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.0042752a
jmp 0x42050a
xor esi, esi
mov dword [esp + 0x10], esi
jmp 0x42050a
xor ebx, ebx
mov byte [esp + 0xa8], 5
mov esi, dword [esp + 0x34]
test esi, esi
je 0x420b27
mov ecx, esi
call fcn.004274da
mov dword [esp + 0x34], ebx
mov byte [esp + 0xa8], 4
test edi, edi
je 0x420b3e
mov ecx, edi
call fcn.004274da
mov dword [esp + 0x1c], ebx
mov byte [esp + 0xa8], 3
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x420b57
call fcn.004274da
mov dword [esp + 0x38], ebx
mov byte [esp + 0xa8], 2
cmp dword [esp + 0x2c], 0
je 0x420b7c
push dword [esp + 0x2c]
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esp + 0x2c], ebx
mov byte [esp + 0xa8], 1
cmp dword [esp + 0x30], 0
je 0x420ba1
push dword [esp + 0x30]
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esp + 0x30], ebx
mov byte [esp + 0xa8], bl
cmp dword [esp + 0x18], 0
je 0x420bc5
push dword [esp + 0x18]
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esp + 0x18], ebx
or dword [esp + 0xa8], 0xffffffff
cmp dword [esp + 0x20], 0
je 0x420bea
push dword [esp + 0x20]
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret