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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4431c2
mov eax, dword fs:[0]
push eax
sub esp, 0x168
mov eax, dword [0x457220]
xor eax, esp
mov dword [esp + 0x160], eax
push ebx
push esi
push edi
mov eax, dword [0x457220]
xor eax, esp
push eax
lea eax, [esp + 0x178]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x28]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0xdc], eax
mov eax, dword [ebp + 0x20]
mov ebx, edx
mov dword [esp + 0xd4], eax
mov eax, dword [ebp + 0x24]
push ebx
mov edi, ecx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0xdc], eax
mov dword [esp + 0x64], esi
call fcn.004263ad
test al, al
jne 0x42a698
mov eax, 0x80004001
mov ecx, dword [esp + 0x178]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x160]
xor ecx, esp
call fcn.004350b5
mov esp, ebp
pop ebp
ret 0x28
xor eax, eax
mov byte [esi], 0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0x180], eax
lea eax, [esp + 0xbc]
push eax
call fcn.00433905
lea esi, [esp + 0xbc]
mov byte [esp + 0x180], 1
call fcn.00433942
and dword [esp + 0x18], 0
lea eax, [ebx + 0x20]
call fcn.0042dc21
test eax, eax
jle 0x42a7f5
push 0x18
call fcn.00435138
test eax, eax
pop ecx
je 0x42a706
mov esi, eax
call fcn.00433b7a
mov edi, eax
jmp 0x42a708
xor edi, edi
mov ecx, edi
neg ecx
lea eax, [edi + 8]
sbb ecx, ecx
and ecx, eax
lea esi, [esp + 0x34]
call fcn.0040a6e2
push dword [ebp + 0x14]
lea ecx, [esp + 0xc0]
push dword [ebp + 0x10]
mov eax, edi
mov byte [esp + 0x188], 2
call fcn.00433bca
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x18]
lea ebx, [eax + ecx*8]
mov eax, dword [ebx]
add dword [ebp + 0x10], eax
mov eax, dword [ebx + 4]
push 0x28
adc dword [ebp + 0x14], eax
call fcn.00435138
test eax, eax
pop ecx
je 0x42a767
mov esi, eax
call fcn.004339c7
mov dword [esp + 0x24], eax
jmp 0x42a76c
and dword [esp + 0x24], 0
mov ecx, dword [esp + 0x24]
lea eax, [ecx + 8]
neg ecx
sbb ecx, ecx
and ecx, eax
lea esi, [esp + 0x1c]
call fcn.0040a6e2
lea eax, [esp + 0x34]
mov byte [esp + 0x180], 3
call fcn.00419b00
mov edi, eax
mov eax, dword [esp + 0x24]
call fcn.00433a70
push dword [ebx + 4]
mov eax, dword [esp + 0x28]
push dword [ebx]
call fcn.00433a7d
mov eax, esi
push eax
lea edi, [esp + 0xc8]
call fcn.00419a7f
mov eax, esi
mov byte [esp + 0x180], 2
call fcn.0040a6f0
lea eax, [esp + 0x34]
mov byte [esp + 0x180], 1
call fcn.0040a6f0
mov eax, dword [esp + 0x28]
inc dword [esp + 0x18]
add eax, 0x20
call fcn.0042dc21
cmp dword [esp + 0x18], eax
jl 0x42a6ef
mov eax, dword [esp + 0x28]
call fcn.00423a12
mov dword [esp + 0x24], eax
lea eax, [esp + 0xe4]
push eax
call fcn.0042a279
lea eax, [esp + 0xe4]
push eax
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x184], 4
call fcn.0042a35a
mov ebx, dword [esp + 0x5c]
cmp byte [ebx], 0
pop ecx
je 0x42a851
lea eax, [ebx + 4]
push eax
lea eax, [esp + 0xe8]
push eax
call fcn.0042a47b
neg al
sbb al, al
inc al
pop ecx
pop ecx
je 0x42aaf9
lea esi, [ebx + 0x60]
mov edi, dword [esi + 8]
cmp dword [esi + 4], edi
jbe 0x42a861
call fcn.00435495
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
mov dword [esp + 0x20], eax
jbe 0x42a876
call fcn.00435495
mov eax, dword [esp + 0x20]
push edi
push esi
push eax
push esi
lea eax, [esp + 0x54]
push eax
push esi
call fcn.0042dc59
lea esi, [ebx + 0x5c]
call fcn.00415695
push 0x74
call fcn.00435138
pop ecx
mov dword [esp + 0x44], eax
test eax, eax
mov byte [esp + 0x180], 5
je 0x42a8ad
push eax
call fcn.0042d13c
jmp 0x42a8af
xor eax, eax
test eax, eax
mov byte [esp + 0x180], 4
mov dword [ebx + 0x54], eax
je 0x42a8c3
lea edi, [eax + 8]
jmp 0x42a8c5
xor edi, edi
call fcn.0041f5b0
mov eax, dword [ebx + 0x54]
test eax, eax
je 0x42a8d6
lea ecx, [eax + 0xc]
jmp 0x42a8d8
xor ecx, ecx
lea edx, [esp + 0xe4]
mov dword [ebx + 0x58], ecx
mov eax, dword [ecx]
push edx
call dword [eax]
test eax, eax
mov dword [esp + 0x20], eax
je 0x42a938
lea esi, [esp + 0x124]
call fcn.0042b357
lea edi, [esp + 0xe4]
call fcn.0042a2f6
lea edi, [esp + 0xbc]
mov byte [esp + 0x180], 0
call fcn.00433931
or dword [esp + 0x180], 0xffffffff
lea esi, [esp + 0xc4]
call fcn.00419db5
mov eax, dword [esp + 0x20]
jmp 0x42a672
and dword [esp + 0x18], 0
cmp dword [esp + 0x24], 0
jle 0x42aad8
push dword [esp + 0x18]
mov esi, dword [esp + 0x2c]
call fcn.00423a25
mov esi, eax
lea eax, [esp + 0x38]
call fcn.00434aaf
lea eax, [esp + 0x3c]
call fcn.00434aaf
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x3c]
push eax
mov byte [esp + 0x188], 7
push dword [esi + 4]
push dword [esi]
push dword [esp + 0x40]
call fcn.004336a8
add esp, 0x14
test eax, eax
jne 0x42ae9a
lea eax, [esp + 0x14]
call fcn.00434aaf
mov eax, esi
mov byte [esp + 0x180], 8
call fcn.00425193
test al, al
je 0x42a9ea
lea ecx, [esp + 0x38]
call fcn.0043007f
test al, al
je 0x42af05
lea eax, [esp + 0x38]
call fcn.00419b00
mov edi, eax
lea esi, [esp + 0x14]
call fcn.0041f5b0
lea eax, [esp + 0x38]
call fcn.00419b00
mov edi, eax
mov eax, dword [ebx + 0x54]
call fcn.0042d94c
jmp 0x42aa22
lea ecx, [esp + 0x3c]
call fcn.0043007f
test al, al
je 0x42af05
lea eax, [esp + 0x3c]
call fcn.00419b00
mov edi, eax
lea esi, [esp + 0x14]
call fcn.0041f5b0
lea eax, [esp + 0x3c]
call fcn.00419b00
mov edi, eax
mov eax, dword [ebx + 0x54]
call fcn.0042d96a
lea eax, [esp + 0x14]
push eax
lea edi, [ebx + 0x60]
call fcn.0042b549
lea eax, [esp + 0x50]
call fcn.00434aaf
lea eax, [esp + 0x50]
mov byte [esp + 0x180], 9
call fcn.004336f1
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
push eax
push 0x100f
call dword [edx]
lea ecx, [esp + 0x50]
call fcn.0043007f
test al, al
je 0x42aa82
lea eax, [esp + 0x50]
call fcn.00419b00
push dword [esp + 0x30]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x10]
mov esi, eax
test esi, esi
jne 0x42af20
lea eax, [esp + 0x50]
mov byte [esp + 0x180], 8
call fcn.0040a6f0
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 7
call fcn.0040a6f0
lea eax, [esp + 0x3c]
mov byte [esp + 0x180], 6
call fcn.0040a6f0
lea eax, [esp + 0x38]
mov byte [esp + 0x180], 4
call fcn.0040a6f0
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x24]
jl 0x42a948
lea esi, [ebx + 4]
lea edi, [esp + 0xe4]
call fcn.0042b2b6
lea ecx, [esi + 0x40]
lea eax, [esp + 0x124]
call fcn.00425a54
mov byte [ebx], 1
mov ecx, dword [ebx + 0x58]
mov eax, dword [ecx]
xor esi, esi
call dword [eax + 4]
cmp dword [esp + 0x24], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x18], esi
jle 0x42b01e
lea eax, [esp + 0x40]
call fcn.004336f1
mov dword [esp + 0xe0], eax
push dword [esp + 0x18]
mov esi, dword [esp + 0x2c]
call fcn.00423a25
mov ecx, dword [ebx + 0x64]
test ecx, ecx
mov edi, eax
mov dword [esp + 0x4c], edi
je 0x42ab55
mov eax, dword [ebx + 0x68]
sub eax, ecx
sar eax, 2
cmp dword [esp + 0x54], eax
jb 0x42ab5a
call fcn.00435495
mov eax, dword [ebx + 0x64]
mov ecx, dword [esp + 0x54]
lea esi, [eax + ecx*4]
lea eax, [esp + 0x40]
call fcn.00434aaf
push dword [esp + 0xe0]
mov byte [esp + 0x184], 0xa
mov ecx, dword [esi]
mov eax, dword [ecx]
push 0x1004
call dword [eax]
lea ecx, [esp + 0x40]
call fcn.0043007f
test al, al
je 0x42abe3
lea eax, [edi + 8]
mov dword [esp + 0x20], eax
call fcn.00421e1c
cmp eax, 0xffffffff
mov dword [esp + 0x1c], eax
ja 0x42b072
test eax, eax
jbe 0x42abe3
lea eax, [esp + 0x40]
call fcn.00419b00
mov edi, dword [eax]
push dword [esp + 0x1c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x24]
call fcn.0040adf9
mov ecx, dword [esp + 0x48]
push eax
call dword [edi + 0x10]
mov edi, eax
test edi, edi
jne 0x42b08d
mov edi, dword [esp + 0x4c]
lea eax, [esp + 0x40]
mov byte [esp + 0x180], 4
call fcn.0040a6f0
lea eax, [esp + 0x14]
call fcn.00434aaf
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 0xb
call fcn.004336f1
mov ecx, dword [esi]
mov edx, dword [ecx]
push eax
push 0x1007
call dword [edx]
lea ecx, [esp + 0x14]
call fcn.0043007f
test al, al
je 0x42ac46
lea eax, [esp + 0x14]
call fcn.00419b00
push dword [ebp + 0x2c]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x10]
test eax, eax
mov dword [esp + 0x44], eax
jne 0x42b0a5
lea eax, [esp + 0x2c]
call fcn.00434aaf
lea eax, [esp + 0x2c]
mov byte [esp + 0x180], 0xc
call fcn.004336f1
mov esi, dword [esi]
mov edx, dword [esi]
push eax
push 0x1012
mov ecx, esi
call dword [edx]
lea ecx, [esp + 0x2c]
call fcn.0043007f
test al, al
je 0x42ada7
mov ecx, dword [esp + 0xd8]
xor esi, esi
cmp ecx, esi
je 0x42b0bf
mov dword [esp + 0x150], 7
mov dword [esp + 0x14c], esi
mov word [esp + 0x13c], si
lea edx, [esp + 0x138]
mov byte [esp + 0x180], 0xd
mov eax, dword [ecx]
push edx
call dword [eax + 0x10]
mov edi, eax
cmp edi, esi
jne 0x42b0eb
lea eax, [esp + 0x64]
call fcn.0040ad69
mov byte [esp + 0x180], 0xe
mov eax, dword [esp + 0x60]
mov byte [eax], 1
lea eax, [esp + 0x138]
lea esi, [esp + 0x154]
call fcn.00403705
mov byte [esp + 0x180], 0xf
mov eax, dword [esp + 0x168]
add eax, eax
push eax
lea edi, [esp + 0x68]
mov dword [esp + 0x20], eax
call fcn.0040ad98
xor edi, edi
cmp dword [esp + 0x168], edi
jle 0x42ad49
lea eax, [esp + 0x64]
call fcn.0040adf9
mov esi, eax
lea eax, [esp + 0x154]
call fcn.00403742
movzx eax, word [eax]
mov byte [esi + edi*2], al
mov byte [esi + edi*2 + 1], ah
inc edi
cmp edi, dword [esp + 0x168]
jl 0x42ad29
cmp dword [esp + 0x1c], 0
jbe 0x42ad7a
lea eax, [esp + 0x2c]
call fcn.00419b00
push dword [esp + 0x1c]
mov esi, eax
mov edi, dword [esi]
lea eax, [esp + 0x68]
call fcn.0040adf9
push eax
mov ecx, esi
call dword [edi + 0x10]
mov edi, eax
test edi, edi
jne 0x42b11e
push 0
push 1
lea esi, [esp + 0x15c]
call fcn.0040115e
lea ecx, [esp + 0x64]
call fcn.0040ad7b
push 0
push 1
lea esi, [esp + 0x140]
call fcn.0040115e
mov edi, dword [esp + 0x4c]
lea eax, [esp + 0x2c]
mov byte [esp + 0x180], 0xb
call fcn.0040a6f0
mov ecx, dword [edi + 0x18]
mov edi, dword [edi + 0x1c]
inc dword [esp + 0x54]
xor eax, eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
push ecx
lea esi, [esp + 0x80]
mov byte [esp + 0x184], 0x11
call fcn.0042b452
push edi
lea esi, [esp + 0xb0]
call fcn.0042b452
test edi, edi
jbe 0x42ae53
mov eax, dword [esp + 0x28]
add eax, 0x30
mov dword [esp + 0x44], eax
mov dword [esp + 0x4c], edi
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x44]
call fcn.0042b2e5
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
lea esi, [esp + 0xb0]
call fcn.0042b4ef
inc dword [esp + 0x34]
dec dword [esp + 0x4c]
jne 0x42ae27
and dword [esp + 0x1c], 0
cmp dword [esp + 0x20], 0
jbe 0x42af90
push dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
call fcn.00425268
test eax, eax
jl 0x42af49
mov edi, dword [esp + 0x28]
add edi, 0x10
mov esi, eax
call fcn.0042b2e5
mov edi, dword [esp + 0x28]
mov esi, dword [eax + 4]
add edi, 0x30
call fcn.0042b2e5
jmp 0x42af65
mov ebx, eax
lea eax, [esp + 0x3c]
mov byte [esp + 0x180], 6
call fcn.0040a6f0
lea eax, [esp + 0x38]
mov byte [esp + 0x180], 4
call fcn.0040a6f0
lea esi, [esp + 0x124]
call fcn.0042b357
lea edi, [esp + 0xe4]
call fcn.0042a2f6
lea edi, [esp + 0xbc]
mov byte [esp + 0x180], 0
call fcn.00433931
or dword [esp + 0x180], 0xffffffff
lea esi, [esp + 0xc4]
call fcn.00419db5
mov eax, ebx
jmp 0x42a672
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 7
call fcn.0040a6f0
mov ebx, 0x80004001
jmp 0x42ae9c
lea eax, [esp + 0x50]
mov byte [esp + 0x180], 8
call fcn.0040a6f0
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 7
call fcn.0040a6f0
mov ebx, esi
jmp 0x42ae9c
push dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
call fcn.004252d5
test eax, eax
jl 0x42b13b
mov ecx, dword [esp + 0x78]
lea eax, [ecx + eax*8]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x44]
push eax
lea esi, [esp + 0x80]
call fcn.0042b4ef
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
inc dword [esp + 0x30]
cmp eax, dword [esp + 0x20]
jb 0x42ae63
mov edi, dword [esp + 0xb0]
cmp edi, dword [esp + 0xb4]
jbe 0x42afac
call fcn.00435495
cmp edi, dword [esp + 0xb4]
jb 0x42afb3
call fcn.00435495
mov esi, dword [esp + 0x80]
cmp esi, dword [esp + 0x84]
jbe 0x42afcf
call fcn.00435495
cmp esi, dword [esp + 0x84]
jb 0x42afd6
call fcn.00435495
mov ecx, dword [ebx + 0x58]
mov eax, dword [ecx]
push edi
push esi
push dword [esp + 0x20]
call dword [eax + 8]
lea esi, [esp + 0xac]
call fcn.0042b357
lea esi, [esp + 0x7c]
call fcn.0042b357
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 4
call fcn.0040a6f0
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x24]
jl 0x42ab2d
xor esi, esi
cmp dword [esp + 0x118], esi
mov dword [esp + 0x20], esi
je 0x42b03e
mov eax, dword [esp + 0x11c]
sub eax, dword [esp + 0x118]
sar eax, 2
jne 0x42b043
call fcn.00435495
lea eax, [esp + 0x60]
push eax
mov eax, dword [esp + 0x11c]
push dword [eax]
lea ebx, [esp + 0x28]
lea eax, [esp + 0xec]
call fcn.0042c7ac
xor edi, edi
cmp eax, edi
je 0x42b155
mov ebx, eax
jmp 0x42aebe
lea eax, [esp + 0x40]
mov byte [esp + 0x180], 4
call fcn.0040a6f0
mov ebx, 0x80004001
jmp 0x42aebe
lea eax, [esp + 0x40]
mov byte [esp + 0x180], 4
call fcn.0040a6f0
mov ebx, edi
jmp 0x42aebe
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 4
call fcn.0040a6f0
mov ebx, dword [esp + 0x44]
jmp 0x42aebe
lea eax, [esp + 0x2c]
mov byte [esp + 0x180], 0xb
call fcn.0040a6f0
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 4
call fcn.0040a6f0
mov ebx, 0x80004005
jmp 0x42aebe
push esi
push 1
lea esi, [esp + 0x140]
call fcn.0040115e
lea eax, [esp + 0x2c]
mov byte [esp + 0x180], 0xb
call fcn.0040a6f0
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 4
call fcn.0040a6f0
jmp 0x42b09e
push 0
push 1
lea esi, [esp + 0x15c]
call fcn.0040115e
lea ecx, [esp + 0x64]
call fcn.0040ad7b
push 0
jmp 0x42b0ec
lea esi, [esp + 0xac]
call fcn.0042b357
lea esi, [esp + 0x7c]
call fcn.0042b357
jmp 0x42b0d0
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + 0x54]
call fcn.0042d988
cmp dword [esp + 0x24], edi
jne 0x42b172
xor ebx, ebx
jmp 0x42aebe
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], edi
mov byte [esp + 0x180], 0x12
xor ebx, ebx
mov edx, dword [esp + 0xc8]
cmp edx, edi
mov eax, dword [esp + 0xcc]
jne 0x42b1a7
xor ecx, ecx
jmp 0x42b1ae
mov ecx, eax
sub ecx, edx
sar ecx, 2
cmp ebx, ecx
jge 0x42b1f3
cmp edx, edi
je 0x42b1bf
sub eax, edx
sar eax, 2
cmp ebx, eax
jb 0x42b1cb
call fcn.00435495
mov edx, dword [esp + 0xc8]
lea eax, [edx + ebx*4]
call fcn.00419b00
mov dword [esp + 0x64], eax
lea eax, [esp + 0x64]
push eax
lea esi, [esp + 0xa0]
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edi
call fcn.0042b5a9
inc ebx
jmp 0x42b191
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], edi
mov eax, dword [esp + 0xdc]
mov byte [esp + 0x180], 0x13
mov dword [esp + 0x64], eax
lea eax, [esp + 0x64]
push eax
lea esi, [esp + 0x90]
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edi
call fcn.0042b5a9
mov eax, dword [esp + 0x58]
add eax, 0x5c
call fcn.00419b00
push dword [esp + 0xd4]
mov edx, dword [eax]
mov ecx, esi
push ecx
lea ecx, [esp + 0xa4]
push ecx
mov ecx, eax
call dword [edx + 0x10]
cmp dword [esp + 0x90], edi
mov ebx, eax
je 0x42b271
push dword [esp + 0x90]
call fcn.004350b0
pop ecx
cmp dword [esp + 0xa0], edi
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], edi
je 0x42b29c
push dword [esp + 0xa0]
call fcn.004350b0
pop ecx
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], edi
jmp 0x42aebe