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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x43fb8f
mov eax, dword fs:[0]
push eax
sub esp, 0x168
mov eax, dword [0x452210]
xor eax, esp
mov dword [esp + 0x160], eax
push ebx
push esi
push edi
mov eax, dword [0x452210]
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.00423be4
test al, al
jne 0x427db9
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.00431f15
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.00430866
lea esi, [esp + 0xbc]
mov byte [esp + 0x180], 1
call fcn.004308a3
and dword [esp + 0x18], 0
lea eax, [ebx + 0x20]
call fcn.00416cae
test eax, eax
jle 0x427f16
push 0x18
call fcn.00431f98
test eax, eax
pop ecx
je 0x427e27
mov esi, eax
call fcn.0043072c
mov edi, eax
jmp 0x427e29
xor edi, edi
mov ecx, edi
neg ecx
lea eax, [edi + 8]
sbb ecx, ecx
and ecx, eax
lea esi, [esp + 0x34]
call fcn.0040f1b1
push dword [ebp + 0x14]
lea ecx, [esp + 0xc0]
push dword [ebp + 0x10]
mov eax, edi
mov byte [esp + 0x188], 2
call fcn.004307b2
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.00431f98
test eax, eax
pop ecx
je 0x427e88
mov esi, eax
call fcn.00430928
mov dword [esp + 0x24], eax
jmp 0x427e8d
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.0040f1b1
lea eax, [esp + 0x34]
mov byte [esp + 0x180], 3
call fcn.004318d2
mov edi, eax
mov eax, dword [esp + 0x24]
call fcn.0042d456
push dword [ebx + 4]
mov eax, dword [esp + 0x28]
push dword [ebx]
call fcn.0043099b
mov eax, esi
push eax
lea edi, [esp + 0xc8]
call fcn.00428c5d
mov eax, esi
mov byte [esp + 0x180], 2
call fcn.004318dd
lea eax, [esp + 0x34]
mov byte [esp + 0x180], 1
call fcn.004318dd
mov eax, dword [esp + 0x28]
inc dword [esp + 0x18]
add eax, 0x20
call fcn.00416cae
cmp dword [esp + 0x18], eax
jl 0x427e10
mov eax, dword [esp + 0x28]
call fcn.00420f07
mov dword [esp + 0x24], eax
lea eax, [esp + 0xe4]
push eax
call fcn.0042799a
lea eax, [esp + 0xe4]
push eax
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x184], 4
call fcn.00427a7b
mov ebx, dword [esp + 0x5c]
cmp byte [ebx], 0
pop ecx
je 0x427f72
lea eax, [ebx + 4]
push eax
lea eax, [esp + 0xe8]
push eax
call fcn.00427b9c
neg al
sbb al, al
inc al
pop ecx
pop ecx
je 0x42821a
lea esi, [ebx + 0x60]
mov edi, dword [esi + 8]
cmp dword [esi + 4], edi
jbe 0x427f82
call fcn.004322f5
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
mov dword [esp + 0x20], eax
jbe 0x427f97
call fcn.004322f5
mov eax, dword [esp + 0x20]
push edi
push esi
push eax
push esi
lea eax, [esp + 0x54]
push eax
push esi
call fcn.00428f83
lea esi, [ebx + 0x5c]
call fcn.0041c454
push 0x74
call fcn.00431f98
pop ecx
mov dword [esp + 0x44], eax
test eax, eax
mov byte [esp + 0x180], 5
je 0x427fce
push eax
call fcn.0042ac01
jmp 0x427fd0
xor eax, eax
test eax, eax
mov byte [esp + 0x180], 4
mov dword [ebx + 0x54], eax
je 0x427fe4
lea edi, [eax + 8]
jmp 0x427fe6
xor edi, edi
call fcn.004169d5
mov eax, dword [ebx + 0x54]
test eax, eax
je 0x427ff7
lea ecx, [eax + 0xc]
jmp 0x427ff9
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 0x428059
lea esi, [esp + 0x124]
call fcn.00415e8f
lea edi, [esp + 0xe4]
call fcn.00427a17
lea edi, [esp + 0xbc]
mov byte [esp + 0x180], 0
call fcn.00430892
or dword [esp + 0x180], 0xffffffff
lea esi, [esp + 0xc4]
call fcn.00428c38
mov eax, dword [esp + 0x20]
jmp 0x427d93
and dword [esp + 0x18], 0
cmp dword [esp + 0x24], 0
jle 0x4281f9
push dword [esp + 0x18]
mov esi, dword [esp + 0x2c]
call fcn.00420f1a
mov esi, eax
lea eax, [esp + 0x38]
call fcn.004318ce
lea eax, [esp + 0x3c]
call fcn.004318ce
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.004304d0
add esp, 0x14
test eax, eax
jne 0x4285bb
lea eax, [esp + 0x14]
call fcn.004318ce
mov eax, esi
mov byte [esp + 0x180], 8
call fcn.004226c0
test al, al
je 0x42810b
lea ecx, [esp + 0x38]
call fcn.004318d5
test al, al
je 0x428626
lea eax, [esp + 0x38]
call fcn.004318d2
mov edi, eax
lea esi, [esp + 0x14]
call fcn.004169d5
lea eax, [esp + 0x38]
call fcn.004318d2
mov edi, eax
mov eax, dword [ebx + 0x54]
call fcn.0042b411
jmp 0x428143
lea ecx, [esp + 0x3c]
call fcn.004318d5
test al, al
je 0x428626
lea eax, [esp + 0x3c]
call fcn.004318d2
mov edi, eax
lea esi, [esp + 0x14]
call fcn.004169d5
lea eax, [esp + 0x3c]
call fcn.004318d2
mov edi, eax
mov eax, dword [ebx + 0x54]
call fcn.0042b42f
lea eax, [esp + 0x14]
push eax
lea edi, [ebx + 0x60]
call fcn.00428cb8
lea eax, [esp + 0x50]
call fcn.004318ce
lea eax, [esp + 0x50]
mov byte [esp + 0x180], 9
call fcn.0042983e
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
push eax
push 0x100f
call dword [edx]
lea ecx, [esp + 0x50]
call fcn.004318d5
test al, al
je 0x4281a3
lea eax, [esp + 0x50]
call fcn.004318d2
push dword [esp + 0x30]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x10]
mov esi, eax
test esi, esi
jne 0x428641
lea eax, [esp + 0x50]
mov byte [esp + 0x180], 8
call fcn.004318dd
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 7
call fcn.004318dd
lea eax, [esp + 0x3c]
mov byte [esp + 0x180], 6
call fcn.004318dd
lea eax, [esp + 0x38]
mov byte [esp + 0x180], 4
call fcn.004318dd
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x24]
jl 0x428069
lea esi, [ebx + 4]
lea edi, [esp + 0xe4]
call fcn.004289d7
lea ecx, [esi + 0x40]
lea eax, [esp + 0x124]
call fcn.0042329c
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 0x42873f
lea eax, [esp + 0x40]
call fcn.0042983e
mov dword [esp + 0xe0], eax
push dword [esp + 0x18]
mov esi, dword [esp + 0x2c]
call fcn.00420f1a
mov ecx, dword [ebx + 0x64]
test ecx, ecx
mov edi, eax
mov dword [esp + 0x4c], edi
je 0x428276
mov eax, dword [ebx + 0x68]
sub eax, ecx
sar eax, 2
cmp dword [esp + 0x54], eax
jb 0x42827b
call fcn.004322f5
mov eax, dword [ebx + 0x64]
mov ecx, dword [esp + 0x54]
lea esi, [eax + ecx*4]
lea eax, [esp + 0x40]
call fcn.004318ce
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.004318d5
test al, al
je 0x428304
lea eax, [edi + 8]
mov dword [esp + 0x20], eax
call fcn.0041db88
cmp eax, 0xffffffff
mov dword [esp + 0x1c], eax
ja 0x428793
test eax, eax
jbe 0x428304
lea eax, [esp + 0x40]
call fcn.004318d2
mov edi, dword [eax]
push dword [esp + 0x1c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x24]
call fcn.00409adb
mov ecx, dword [esp + 0x48]
push eax
call dword [edi + 0x10]
mov edi, eax
test edi, edi
jne 0x4287ae
mov edi, dword [esp + 0x4c]
lea eax, [esp + 0x40]
mov byte [esp + 0x180], 4
call fcn.004318dd
lea eax, [esp + 0x14]
call fcn.004318ce
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 0xb
call fcn.0042983e
mov ecx, dword [esi]
mov edx, dword [ecx]
push eax
push 0x1007
call dword [edx]
lea ecx, [esp + 0x14]
call fcn.004318d5
test al, al
je 0x428367
lea eax, [esp + 0x14]
call fcn.004318d2
push dword [ebp + 0x2c]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x10]
test eax, eax
mov dword [esp + 0x44], eax
jne 0x4287c6
lea eax, [esp + 0x2c]
call fcn.004318ce
lea eax, [esp + 0x2c]
mov byte [esp + 0x180], 0xc
call fcn.0042983e
mov esi, dword [esi]
mov edx, dword [esi]
push eax
push 0x1012
mov ecx, esi
call dword [edx]
lea ecx, [esp + 0x2c]
call fcn.004318d5
test al, al
je 0x4284c8
mov ecx, dword [esp + 0xd8]
xor esi, esi
cmp ecx, esi
je 0x4287e0
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 0x42880c
lea eax, [esp + 0x64]
call fcn.00409a4b
mov byte [esp + 0x180], 0xe
mov eax, dword [esp + 0x60]
mov byte [eax], 1
lea eax, [esp + 0x138]
lea esi, [esp + 0x154]
call fcn.0040378d
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.00409a7a
xor edi, edi
cmp dword [esp + 0x168], edi
jle 0x42846a
lea eax, [esp + 0x64]
call fcn.00409adb
mov esi, eax
lea eax, [esp + 0x154]
call fcn.004037ca
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 0x42844a
cmp dword [esp + 0x1c], 0
jbe 0x42849b
lea eax, [esp + 0x2c]
call fcn.004318d2
push dword [esp + 0x1c]
mov esi, eax
mov edi, dword [esi]
lea eax, [esp + 0x68]
call fcn.00409adb
push eax
mov ecx, esi
call dword [edi + 0x10]
mov edi, eax
test edi, edi
jne 0x42883f
push 0
push 1
lea esi, [esp + 0x15c]
call fcn.0040115f
lea ecx, [esp + 0x64]
call fcn.00409a5d
push 0
push 1
lea esi, [esp + 0x140]
call fcn.0040115f
mov edi, dword [esp + 0x4c]
lea eax, [esp + 0x2c]
mov byte [esp + 0x180], 0xb
call fcn.004318dd
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.00428b41
push edi
lea esi, [esp + 0xb0]
call fcn.00428b41
test edi, edi
jbe 0x428574
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.00410bdf
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
lea esi, [esp + 0xb0]
call fcn.00428bde
inc dword [esp + 0x34]
dec dword [esp + 0x4c]
jne 0x428548
and dword [esp + 0x1c], 0
cmp dword [esp + 0x20], 0
jbe 0x4286b1
push dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
call fcn.00422795
test eax, eax
jl 0x42866a
mov edi, dword [esp + 0x28]
add edi, 0x10
mov esi, eax
call fcn.00410bdf
mov edi, dword [esp + 0x28]
mov esi, dword [eax + 4]
add edi, 0x30
call fcn.00410bdf
jmp 0x428686
mov ebx, eax
lea eax, [esp + 0x3c]
mov byte [esp + 0x180], 6
call fcn.004318dd
lea eax, [esp + 0x38]
mov byte [esp + 0x180], 4
call fcn.004318dd
lea esi, [esp + 0x124]
call fcn.00415e8f
lea edi, [esp + 0xe4]
call fcn.00427a17
lea edi, [esp + 0xbc]
mov byte [esp + 0x180], 0
call fcn.00430892
or dword [esp + 0x180], 0xffffffff
lea esi, [esp + 0xc4]
call fcn.00428c38
mov eax, ebx
jmp 0x427d93
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 7
call fcn.004318dd
mov ebx, 0x80004001
jmp 0x4285bd
lea eax, [esp + 0x50]
mov byte [esp + 0x180], 8
call fcn.004318dd
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 7
call fcn.004318dd
mov ebx, esi
jmp 0x4285bd
push dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
call fcn.00422802
test eax, eax
jl 0x42885c
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.00428bde
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
inc dword [esp + 0x30]
cmp eax, dword [esp + 0x20]
jb 0x428584
mov edi, dword [esp + 0xb0]
cmp edi, dword [esp + 0xb4]
jbe 0x4286cd
call fcn.004322f5
cmp edi, dword [esp + 0xb4]
jb 0x4286d4
call fcn.004322f5
mov esi, dword [esp + 0x80]
cmp esi, dword [esp + 0x84]
jbe 0x4286f0
call fcn.004322f5
cmp esi, dword [esp + 0x84]
jb 0x4286f7
call fcn.004322f5
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.00415e8f
lea esi, [esp + 0x7c]
call fcn.00415e8f
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 4
call fcn.004318dd
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x24]
jl 0x42824e
xor esi, esi
cmp dword [esp + 0x118], esi
mov dword [esp + 0x20], esi
je 0x42875f
mov eax, dword [esp + 0x11c]
sub eax, dword [esp + 0x118]
sar eax, 2
jne 0x428764
call fcn.004322f5
lea eax, [esp + 0x60]
push eax
mov eax, dword [esp + 0x11c]
push dword [eax]
lea ebx, [esp + 0x28]
lea eax, [esp + 0xec]
call fcn.0042a2b5
xor edi, edi
cmp eax, edi
je 0x428876
mov ebx, eax
jmp 0x4285df
lea eax, [esp + 0x40]
mov byte [esp + 0x180], 4
call fcn.004318dd
mov ebx, 0x80004001
jmp 0x4285df
lea eax, [esp + 0x40]
mov byte [esp + 0x180], 4
call fcn.004318dd
mov ebx, edi
jmp 0x4285df
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 4
call fcn.004318dd
mov ebx, dword [esp + 0x44]
jmp 0x4285df
lea eax, [esp + 0x2c]
mov byte [esp + 0x180], 0xb
call fcn.004318dd
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 4
call fcn.004318dd
mov ebx, 0x80004005
jmp 0x4285df
push esi
push 1
lea esi, [esp + 0x140]
call fcn.0040115f
lea eax, [esp + 0x2c]
mov byte [esp + 0x180], 0xb
call fcn.004318dd
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 4
call fcn.004318dd
jmp 0x4287bf
push 0
push 1
lea esi, [esp + 0x15c]
call fcn.0040115f
lea ecx, [esp + 0x64]
call fcn.00409a5d
push 0
jmp 0x42880d
lea esi, [esp + 0xac]
call fcn.00415e8f
lea esi, [esp + 0x7c]
call fcn.00415e8f
jmp 0x4287f1
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + 0x54]
call fcn.0042b44d
cmp dword [esp + 0x24], edi
jne 0x428893
xor ebx, ebx
jmp 0x4285df
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 0x4288c8
xor ecx, ecx
jmp 0x4288cf
mov ecx, eax
sub ecx, edx
sar ecx, 2
cmp ebx, ecx
jge 0x428914
cmp edx, edi
je 0x4288e0
sub eax, edx
sar eax, 2
cmp ebx, eax
jb 0x4288ec
call fcn.004322f5
mov edx, dword [esp + 0xc8]
lea eax, [edx + ebx*4]
call fcn.004318d2
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.00428d18
inc ebx
jmp 0x4288b2
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.00428d18
mov eax, dword [esp + 0x58]
add eax, 0x5c
call fcn.004318d2
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 0x428992
push dword [esp + 0x90]
call fcn.00431f10
pop ecx
cmp dword [esp + 0xa0], edi
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], edi
je 0x4289bd
push dword [esp + 0xa0]
call fcn.00431f10
pop ecx
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], edi
jmp 0x4285df