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

Disassembly:
push 0xffffffffffffffff
push 0x4789a1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x13c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x158]
xor ebx, ebx
push edi
mov eax, dword [esi + 4]
mov ebp, ecx
cmp eax, ebx
mov dword [esp + 0x44], ebx
je 0x42a002
mov ecx, dword [esi + 8]
sub ecx, eax
test ecx, 0xfffffffc
jne 0x42a00b
mov ax, 0xffc7
jmp 0x42aa6c
lea ecx, [esp + 0xec]
call fcn.0044acf0
mov dl, byte [esp + 0x13]
mov dword [esp + 0x154], ebx
mov byte [esp + 0xa0], dl
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
push 3
lea ecx, [esp + 0xf0]
mov byte [esp + 0x158], 1
call fcn.0044aec0
test al, al
jne 0x42a081
push ebx
call fcn.00469f00
add esp, 4
lea ecx, [esp + 0xec]
mov dword [esp + 0x154], 0xffffffff
call fcn.0044ae70
mov ax, 0xffcd
jmp 0x42aa6c
lea ecx, [esp + 0x48]
call fcn.00447d10
lea ecx, [esp + 0x50]
mov byte [esp + 0x154], 2
call fcn.00447d10
mov al, byte [esp + 0x13]
mov dword [esp + 0x58], ebx
mov byte [esp + 0x54], al
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
lea ecx, [esp + 0xb8]
mov byte [esp + 0x154], 3
call fcn.0044cfb0
mov cl, byte [esp + 0x13]
mov dword [esp + 0x18], ebx
mov byte [esp + 0x14], cl
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
lea ecx, [esp + 0x28]
mov byte [esp + 0x154], 5
call fcn.00447d10
lea ecx, [esp + 0x64]
mov byte [esp + 0x154], 6
call fcn.00447d10
mov dl, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x70]
mov byte [esp + 0x158], 7
mov byte [esp + 0x70], dl
call fcn.00401b10
lea ecx, [esp + 0x80]
mov byte [esp + 0x154], 8
call fcn.0044c6e0
mov byte [esp + 0x154], 9
mov eax, dword [ebp + 0x74]
mov edx, dword [ebp + 0x70]
lea ecx, [ebp + 0x6c]
push eax
push edx
call fcn.0040fe50
mov eax, dword [ebp + 0x1c]
lea edi, [ebp + 0x18]
push eax
mov ecx, dword [eax]
lea eax, [esp + 0xb4]
push ecx
push eax
mov ecx, edi
call fcn.00401bc0
mov al, byte [ebp + 0x14]
test al, al
je 0x42a28c
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x48b830
call fcn.00447db0
mov ecx, dword [0x498804]
call fcn.0044c810
mov edi, dword [esp + 0x15c]
mov esi, dword [esi + 4]
cmp esi, dword [edi + 8]
je 0x42a1b2
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push esi
call fcn.00447d20
mov ecx, dword [0x498804]
call fcn.0044c950
mov eax, dword [edi + 8]
add esi, 4
cmp esi, eax
jne 0x42a190
lea ecx, [esp + 0x80]
push ecx
mov ecx, dword [0x498804]
call fcn.0044ccc0
test al, al
je 0x42a933
mov eax, dword [ebp + 0x1c]
lea edx, [ebp + 0x18]
push eax
mov ecx, dword [eax]
lea eax, [esp + 0xb8]
push ecx
push eax
mov ecx, edx
call fcn.00401bc0
lea ecx, [ebp + 0x24]
call fcn.0044f070
mov eax, dword [ebp + 0x84]
mov edx, dword [ebp + 0x80]
lea ecx, [ebp + 0x7c]
push eax
push edx
call fcn.0042e7c0
lea ecx, [ebp + 0x34]
call fcn.0044d5b0
mov eax, dword [esp + 0x15c]
xor edi, edi
mov esi, dword [eax + 4]
mov ecx, dword [eax + 8]
cmp esi, ecx
je 0x42a931
push ebx
lea ecx, [esp + 0x84]
call fcn.0044ce40
test al, al
je 0x42a26f
push ecx
mov edi, 1
mov ecx, esp
mov dword [esp + 0x28], esp
push esi
call fcn.00447d20
lea ecx, [esp + 0x4c]
call fcn.00448010
mov eax, dword [ebp + 0x1c]
lea ecx, [ebp + 0x18]
lea edx, [esp + 0x48]
mov word [esp + 0x4c], 0
push edx
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.00401b60
mov ecx, dword [esp + 0x15c]
add esi, 4
inc ebx
cmp esi, dword [ecx + 8]
jne 0x42a223
test di, di
je 0x42a931
xor ebx, ebx
jmp 0x42a2dd
mov edx, dword [esp + 0x15c]
mov esi, dword [esi + 4]
cmp esi, dword [edx + 8]
je 0x42a2dd
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push esi
call fcn.00447d20
lea ecx, [esp + 0x4c]
call fcn.00448010
mov eax, dword [edi + 4]
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x80]
push eax
push edx
mov ecx, edi
mov word [esp + 0x58], bx
call fcn.00401b60
mov eax, dword [esp + 0x15c]
add esi, 4
cmp esi, dword [eax + 8]
jne 0x42a29b
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 8]
mov al, byte [esp + 0x13]
mov dword [esp + 0x34], ebx
mov byte [esp + 0x30], al
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
lea ecx, [ebp + 0x34]
mov byte [esp + 0x154], 0xa
call fcn.0044d5b0
cmp dword [ebp + 0x20], ebx
jbe 0x42a745
lea ecx, [esp + 0x8c]
call fcn.0044e530
mov edi, dword [ebp + 0x80]
mov eax, dword [ebp + 0x84]
cmp edi, eax
mov byte [esp + 0x154], 0xb
je 0x42a473
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push ecx
push eax
push eax
call fcn.00411930
mov edx, dword [esp + 0x28]
add esp, 0xc
mov esi, eax
lea ecx, [esp + 0x14]
push edx
push esi
call fcn.0040fea0
mov eax, dword [esp + 0x34]
mov dword [esp + 0x1c], esi
push eax
mov eax, dword [esp + 0x3c]
push eax
push eax
call fcn.00411930
mov ecx, dword [esp + 0x44]
add esp, 0xc
mov esi, eax
push ecx
push esi
lea ecx, [esp + 0x38]
call fcn.0040fea0
lea edx, [esp + 0x30]
push 1
push edx
push edi
mov ecx, 0x498788
mov dword [esp + 0x44], esi
call fcn.0042f930
cmp ax, 0xff9b
jne 0x42a417
mov esi, dword [esp + 0x44]
push 1
inc esi
lea ecx, [esp + 0x44]
mov dword [esp + 0x48], esi
call fcn.00447d40
push ecx
lea eax, [esp + 0x44]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
mov byte [esp + 0x15c], 0xc
call fcn.00447d20
lea ecx, [esp + 0x2c]
call fcn.00448010
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x28]
push ecx
push 1
push edx
lea ecx, [esp + 0x20]
call fcn.004054d0
lea eax, [esp + 0x14]
lea ecx, [ebp + 0x34]
push eax
call fcn.0044d320
cmp si, 5
jg 0x42a78d
lea ecx, [esp + 0x40]
mov byte [esp + 0x154], 0xb
call fcn.00447e50
jmp 0x42a462
push 0
lea ecx, [esp + 0x34]
mov dword [esp + 0x48], 0
call fcn.00404b10
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00447d20
lea ecx, [esp + 0x2c]
call fcn.00448010
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x28]
push ecx
push 1
push edx
lea ecx, [esp + 0x20]
call fcn.004054d0
lea eax, [esp + 0x14]
lea ecx, [ebp + 0x34]
push eax
call fcn.0044d320
mov eax, dword [ebp + 0x84]
add edi, 0x10
cmp edi, eax
jne 0x42a33a
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x48b828
call fcn.00447db0
push ecx
mov byte [esp + 0x160], 0x10
mov ecx, esp
mov dword [esp + 0x74], esp
push 6
push 0x48b820
call fcn.00447db0
mov ecx, dword [0x4987f8]
mov byte [esp + 0x160], 0xb
call fcn.004487e0
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
cmp ecx, eax
mov dword [esp + 0x2c], ecx
je 0x42a6f6
lea ecx, [esp + 0xb8]
call fcn.0044d5b0
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push ecx
push eax
push eax
call fcn.00411930
mov edx, dword [esp + 0x28]
add esp, 0xc
mov esi, eax
lea ecx, [esp + 0x14]
push edx
push esi
call fcn.0040fea0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1c], esi
mov cx, word [eax + 0xc]
push ecx
lea ecx, [ebp + 0x34]
call fcn.0044d4d0
mov esi, eax
lea edx, [esp + 0x14]
cmp edx, esi
je 0x42a62f
mov edx, dword [esi + 4]
test edx, edx
jne 0x42a525
xor eax, eax
jmp 0x42a52d
mov eax, dword [esi + 8]
sub eax, edx
sar eax, 2
mov edi, dword [esp + 0x18]
test edi, edi
jne 0x42a539
xor ecx, ecx
jmp 0x42a542
mov ecx, dword [esp + 0x1c]
sub ecx, edi
sar ecx, 2
cmp eax, ecx
ja 0x42a57a
mov eax, dword [esi + 8]
push edi
push eax
push edx
call fcn.00411930
mov ecx, dword [esp + 0x28]
add esp, 0xc
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.0040fea0
mov ecx, esi
call fcn.0040fd10
mov edx, dword [esp + 0x18]
lea eax, [edx + eax*4]
mov dword [esp + 0x1c], eax
jmp 0x42a62f
mov ecx, esi
call fcn.0040fd10
lea ecx, [esp + 0x14]
mov edi, eax
call fcn.004117e0
cmp edi, eax
ja 0x42a5d8
mov edi, dword [esi + 4]
lea ecx, [esp + 0x14]
call fcn.0040fd10
mov ecx, dword [esp + 0x18]
lea edi, [edi + eax*4]
mov eax, dword [esi + 4]
push ecx
push edi
push eax
call fcn.00411930
mov edx, dword [esp + 0x28]
mov eax, dword [esi + 8]
add esp, 0xc
lea ecx, [esp + 0x14]
push edx
push eax
push edi
call fcn.0040ff90
mov ecx, esi
call fcn.0040fd10
mov ecx, dword [esp + 0x18]
lea edx, [ecx + eax*4]
mov dword [esp + 0x1c], edx
jmp 0x42a62f
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.0040fea0
mov edx, dword [esp + 0x18]
push edx
call fcn.00469f00
add esp, 4
mov ecx, esi
call fcn.0040fd10
test eax, eax
jge 0x42a605
xor eax, eax
shl eax, 2
push eax
call fcn.0046a462
add esp, 4
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov esi, dword [esi + 4]
push eax
push ecx
push esi
lea ecx, [esp + 0x20]
call fcn.0040ff90
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0xbc]
call fcn.0044d320
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0xb8]
add eax, 8
push edx
lea ecx, [esp + 0xe0]
push eax
push ecx
mov ecx, ebp
call fcn.0042ac50
mov edx, dword [0x47d170]
lea ecx, [esp + 0x6c]
push edx
push 0
push eax
mov byte [esp + 0x160], 0x11
call fcn.00404b80
push 1
lea ecx, [esp + 0xe0]
mov byte [esp + 0x158], 0xb
call fcn.00401b10
push 0
push 0xffff
sub esp, 0x10
lea eax, [esp + 0x84]
mov ecx, esp
mov dword [esp + 0x80], esp
push eax
call fcn.004049e0
lea ecx, [esp + 0x44]
mov byte [esp + 0x16c], 0x12
call fcn.00401aa0
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call fcn.00447d20
mov ecx, dword [0x4987f8]
mov byte [esp + 0x170], 0xb
call fcn.00448920
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x1c]
cmp eax, ecx
mov dword [esp + 0x2c], eax
jne 0x42a4c7
lea ecx, [esp + 0xec]
call fcn.0044b350
mov ecx, dword [0x4987f8]
push 0
call fcn.00448e10
cmp ax, 0xb
mov byte [esp + 0x154], 0xa
lea ecx, [esp + 0x8c]
je 0x42a73e
call fcn.0044e550
lea ecx, [ebp + 0x34]
call fcn.0044d5b0
mov eax, dword [ebp + 0x20]
test eax, eax
ja 0x42a312
jmp 0x42a743
call fcn.0044e550
xor ebx, ebx
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
cmp esi, edi
mov byte [esp + 0x154], 9
je 0x42a76c
push ebx
mov ecx, esi
call fcn.00410000
add esi, 4
cmp esi, edi
jne 0x42a759
mov esi, dword [esp + 0x34]
push esi
call fcn.00469f00
mov esi, dword [esp + 0x160]
add esp, 4
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
jmp 0x42a12f
xor ebx, ebx
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x74], esp
push 6
push 0x48b828
call fcn.00447db0
push ecx
mov byte [esp + 0x164], 0xd
mov ecx, esp
mov dword [esp + 0x8c], esp
push 6
push 0x48b818
call fcn.00447db0
mov ecx, 0x4987f0
mov byte [esp + 0x164], 0xc
call fcn.00449ba0
lea ecx, [esp + 0x40]
mov byte [esp + 0x154], 0xb
call fcn.00447e50
lea ecx, [esp + 0x8c]
mov byte [esp + 0x154], 0xa
call fcn.0044e550
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
cmp eax, ecx
mov byte [esp + 0x154], 9
mov edi, ecx
mov esi, eax
je 0x42a825
push ebx
mov ecx, esi
call fcn.00410000
add esi, 4
cmp esi, edi
jne 0x42a812
mov eax, dword [esp + 0x34]
push eax
call fcn.00469f00
add esp, 4
lea ecx, [esp + 0x80]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x154], 8
call fcn.00447e50
push 1
lea ecx, [esp + 0x70]
mov byte [esp + 0x158], 7
call fcn.00401b10
lea ecx, [esp + 0x64]
mov byte [esp + 0x154], 6
call fcn.00447e50
lea ecx, [esp + 0x28]
mov byte [esp + 0x154], 5
call fcn.00447e50
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
cmp esi, eax
mov byte [esp + 0x154], 4
mov edi, eax
je 0x42a8ac
push ebx
mov ecx, esi
call fcn.00410000
add esi, 4
cmp esi, edi
jne 0x42a899
mov esi, dword [esp + 0x18]
push esi
call fcn.00469f00
add esp, 4
lea ecx, [esp + 0xb8]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov byte [esp + 0x154], 3
call fcn.0044d0b0
lea ecx, [esp + 0x54]
mov byte [esp + 0x154], 0xf
call fcn.00401a60
lea ecx, [esp + 0x50]
mov byte [esp + 0x154], 0xe
call fcn.00447e50
lea ecx, [esp + 0x48]
mov byte [esp + 0x154], 1
call fcn.00447e50
push ebx
call fcn.00469f00
add esp, 4
lea ecx, [esp + 0xec]
mov dword [esp + 0x154], 0xffffffff
call fcn.0044ae70
mov ax, 0xffca
jmp 0x42aa6c
xor ebx, ebx
lea ecx, [esp + 0x80]
mov byte [esp + 0x154], 8
call fcn.00447e50
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x42a96c
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x42a963
cmp al, 0xff
je 0x42a963
dec al
mov byte [ecx], al
jmp 0x42a96c
push ecx
call fcn.00469f00
add esp, 4
lea ecx, [esp + 0x64]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov byte [esp + 0x154], 6
call fcn.00447e50
lea ecx, [esp + 0x28]
mov byte [esp + 0x154], 5
call fcn.00447e50
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
cmp esi, eax
mov byte [esp + 0x154], 4
mov edi, eax
je 0x42a9c2
mov ecx, esi
call fcn.00447e50
add esi, 4
cmp esi, edi
jne 0x42a9b0
mov esi, dword [esp + 0x18]
push esi
call fcn.00469f00
add esp, 4
lea ecx, [esp + 0xb8]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov byte [esp + 0x154], 3
call fcn.0044d0b0
mov edi, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
cmp esi, edi
mov byte [esp + 0x154], 0x14
je 0x42aa12
push ebx
mov ecx, esi
call fcn.00410000
add esi, 4
cmp esi, edi
jne 0x42a9ff
mov esi, dword [esp + 0x58]
push esi
call fcn.00469f00
add esp, 4
lea ecx, [esp + 0x50]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov byte [esp + 0x154], 0x13
call fcn.00447e50
lea ecx, [esp + 0x48]
mov byte [esp + 0x154], 1
call fcn.00447e50
push ebx
call fcn.00469f00
add esp, 4
lea ecx, [esp + 0xec]
mov dword [esp + 0x154], 0xffffffff
call fcn.0044ae70
xor ax, ax
mov ecx, dword [esp + 0x14c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x148
ret 4