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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
add esp, 0xffffff78
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x80]
cmp ecx, dword [0x87fb30]
mov dword [esp + 0x5c], ecx
je 0x4f898d
mov dword [esp + 0x7c], 1
jmp 0x4f923f
mov eax, dword [esp + 0x5c]
sub eax, 0xfffffff8
mov ecx, ebx
mov ecx, esp
lea edx, [esp + 0x78]
call fcn.004f9330
mov ecx, eax
call fcn.004e8f90
sub esp, 4
mov al, 1
mov ecx, 0
mov edx, dword [0x88c650]
mov esi, dword [0x88c654]
sub ecx, 1
mov edi, edx
add edi, ecx
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
cmp esi, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 1
mov ch, bh
and ch, 1
and ah, al
mov dl, cl
and dl, 1
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 1
and bh, al
or ch, bh
test ch, 1
jne 0x4f8a1f
jmp 0x4f92e3
lea eax, [esp + 0x78]
mov ecx, dword [esp + 0x5c]
sub ecx, 0xfffffff8
mov edx, esp
lea esi, [esp + 0x70]
mov dword [edx], esi
mov dword [esp + 0x58], eax
call fcn.004db040
sub esp, 4
mov bl, 1
mov eax, 0
lea ecx, [esp + 0x70]
mov edx, dword [0x88c650]
call fcn.004f9340
sub eax, 1
mov edi, edx
add edi, eax
imul edx, edi
and edx, 1
cmp edx, 0
sete bh
cmp esi, 0xa
setl al
mov ah, bh
xor ah, 1
mov dl, al
xor dl, 1
xor bl, 0
mov dh, ah
and dh, 0
and bh, bl
mov byte [esp + 0x57], al
mov al, dl
and al, 0
mov byte [esp + 0x56], al
mov al, byte [esp + 0x57]
and al, bl
or dh, bh
mov bh, byte [esp + 0x56]
or bh, al
xor dh, bh
or ah, dl
xor ah, 1
or bl, 0
and ah, bl
or dh, ah
test dh, 1
mov dword [esp + 0x50], ecx
jne 0x4f8ac9
jmp 0x4f92e3
mov eax, esp
mov ecx, dword [esp + 0x50]
call fcn.004f9350
mov ecx, dword [esp + 0x58]
call fcn.004faa80
sub esp, 4
mov byte [esp + 0x4f], al
mov al, byte [esp + 0x4f]
test al, 1
jne 0x4f8af5
jmp 0x4f8cc5
mov eax, dword [0x87f2f8]
lea ecx, [esp + 0x78]
mov dword [esp + 0x48], eax
call fcn.00426230
mov dword [esp + 0x44], eax
mov al, 1
mov ecx, dword [0x88c650]
mov edx, dword [0x88c654]
mov esi, ecx
add esi, 0x405ef45f
sub esi, 1
add esi, 0xbfa10ba1
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 0
mov ch, bh
and ch, 0
and ah, al
mov dl, cl
and dl, 0
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 0
and bh, al
or ch, bh
test ch, 1
jne 0x4f8b81
jmp 0x4f9306
mov eax, 0
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx]
call fcn.004f9360
call fcn.004f9370
add eax, 0xffffffff
mov ebx, esi
add ebx, eax
imul esi, ebx
and esi, 1
push ebx
mov ebx, 0x77303886
xor ebx, 0x77303886
cmp esi, ebx
pop ebx
sete al
cmp edi, 0xa
setl ah
mov cl, al
and cl, ah
xor al, ah
or cl, al
test cl, 1
mov dword [esp + 0x40], edx
jne 0x4f8bde
jmp 0x4f9306
mov eax, 0x437390
mov eax, esp
mov ecx, dword [esp + 0x40]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov eax, dword [esp + 0x48]
call eax
sub esp, 8
mov dword [esp + 0x3c], eax
jmp 0x4f8c04
call fcn.004f9380
mov ecx, dword [0x88c654]
mov edx, eax
mov edx, eax
sub edx, 0x5740b614
sub edx, 1
add edx, 0x5740b614
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x4f8c53
jmp 0x4f930b
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, 1
mov edx, eax
add edx, 0x3249e95c
add edx, 0xffffffff
add edx, 0xcdb616a4
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x4f8ca5
jmp 0x4f930b
mov eax, esp
lea ecx, [esp + 0x60]
mov dword [eax], ecx
mov dword [eax + 4], 0
lea ecx, [esp + 0x78]
call fcn.0050aec0
sub esp, 8
jmp 0x4f89ae
mov al, 1
mov ecx, dword [0x88c650]
mov edx, dword [0x88c654]
mov esi, ecx
add esi, 0xeb313a2c
add esi, 0xffffffff
sub esi, 0xeb313a2c
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 0
mov ch, bh
and ch, 0
and ah, al
mov dl, cl
and dl, 0
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 0
and bh, al
or ch, bh
test ch, 1
jne 0x4f8d3b
jmp 0x4f9310
mov dword [0x87fb30], 0
call fcn.004f9390
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx]
call fcn.004f93a0
call fcn.004f93b0
mov ebx, esi
add ebx, 0x11ae8f4
sub ebx, 1
sub ebx, 0x11ae8f4
imul esi, ebx
and esi, 1
cmp esi, 0
sete cl
cmp edi, 0xa
setl ch
mov bl, cl
and bl, ch
xor cl, ch
or bl, cl
test bl, 1
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], edx
jne 0x4f8da7
jmp 0x4f9310
mov eax, esp
mov ecx, dword [esp + 0x34]
mov dword [eax], ecx
mov eax, dword [esp + 0x38]
call eax
sub esp, 4
mov dword [esp + 0x30], eax
mov eax, dword [0x87e3f8]
mov ecx, dword [esp + 0x5c]
add ecx, 0xec
mov edx, esp
mov dword [edx], ecx
call eax
sub esp, 4
mov dword [esp + 0x2c], eax
mov eax, dword [0x87e444]
mov ecx, dword [esp + 0x5c]
add ecx, 0x14
mov edx, esp
call fcn.004f93c0
call eax
sub esp, 4
lea eax, [0x889c68]
lea ecx, [0x426250]
mov edx, dword [esp + 0x5c]
mov esi, dword [edx + 0x360]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004e9070
mov byte [esp + 0x2b], al
lea eax, [0x5e159a]
lea ecx, [0x4fab50]
mov edx, dword [esp + 0x5c]
call fcn.004f93d0
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004faad0
mov byte [esp + 0x2a], al
lea eax, [0x5dd1a0]
lea ecx, [0x478de0]
mov edx, dword [esp + 0x5c]
mov esi, dword [edx + 0x360]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004b6400
mov byte [esp + 0x29], al
lea eax, [0x583de6]
lea ecx, [0x4db0a0]
mov edx, dword [esp + 0x5c]
mov esi, dword [edx + 0x360]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004ce5f0
mov byte [esp + 0x28], al
lea eax, [0x88a4ca]
lea ecx, [0x426290]
mov edx, dword [esp + 0x5c]
call fcn.004f93e0
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004ce690
mov byte [esp + 0x27], al
lea eax, [0x5cc7fc]
lea ecx, [0x4e91d0]
mov edx, dword [esp + 0x5c]
mov esi, dword [edx + 0x360]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004e9140
mov byte [esp + 0x26], al
lea eax, [0x5e16fe]
lea ecx, [0x4794a0]
mov edx, dword [esp + 0x5c]
mov esi, dword [edx + 0x360]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00426c70
mov byte [esp + 0x25], al
lea eax, [0x882226]
lea ecx, [0x50b010]
mov edx, dword [esp + 0x5c]
call fcn.004f93f0
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0050af10
mov byte [esp + 0x24], al
lea eax, [0x5c5cf8]
lea ecx, [0x4fab70]
mov edx, dword [esp + 0x5c]
call fcn.004f9400
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00426d50
mov byte [esp + 0x23], al
lea eax, [0x5685c6]
lea ecx, [0x426df0]
mov edx, dword [esp + 0x5c]
mov esi, dword [edx + 0x360]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004fab90
mov byte [esp + 0x22], al
lea eax, [0x5d9118]
lea ecx, [0x4b64c0]
mov edx, dword [esp + 0x5c]
mov esi, dword [edx + 0x360]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0050c410
mov byte [esp + 0x21], al
lea eax, [0x8897de]
lea ecx, [0x50c520]
mov edx, dword [esp + 0x5c]
mov esi, dword [edx + 0x360]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00426f90
mov byte [esp + 0x20], al
lea eax, [0x5c5df6]
lea ecx, [0x4b6750]
mov edx, dword [esp + 0x5c]
mov esi, dword [edx + 0x360]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0050c410
mov byte [esp + 0x1f], al
call fcn.004f9410
mov ecx, dword [0x88c654]
mov edx, eax
sub edx, 0x757f83dd
sub edx, 1
sub edx, 0x8a807c23
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x4f905e
jmp 0x4f931f
mov al, 1
mov ecx, dword [esp + 0x5c]
call fcn.004f9420
mov esi, dword [0x88c650]
mov edi, dword [0x88c654]
mov ebx, esi
sub ebx, 0xb04666a5
add ebx, 0xffffffff
add ebx, 0xb04666a5
imul esi, ebx
and esi, 1
cmp esi, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
mov bl, cl
xor bl, 1
xor al, 0
mov bh, ch
and bh, 0
and ah, al
mov byte [esp + 0x1e], al
mov al, bl
and al, 0
mov byte [esp + 0x1d], al
mov al, byte [esp + 0x1e]
and cl, al
or bh, ah
mov ah, byte [esp + 0x1d]
or ah, cl
xor bh, ah
or ch, bl
xor ch, 1
or al, 0
and ch, al
or bh, ch
test bh, 1
mov dword [esp + 0x18], edx
jne 0x4f90f0
jmp 0x4f931f
lea eax, [0x5ad1d0]
lea ecx, [0x4fafd0]
mov edx, dword [esp + 0x18]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004e9990
mov byte [esp + 0x17], al
lea eax, [0x568686]
lea ecx, [0x4db920]
mov edx, dword [esp + 0x5c]
call fcn.004f9430
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004ce750
mov byte [esp + 0x16], al
lea eax, [0x8843a4]
lea ecx, [0x4fb790]
mov edx, dword [esp + 0x5c]
mov esi, dword [edx + 0x360]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004db950
mov byte [esp + 0x15], al
lea eax, [0x5d38cc]
lea ecx, [0x4e9a20]
mov edx, dword [esp + 0x5c]
mov esi, dword [edx + 0x360]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004b6960
mov byte [esp + 0x14], al
lea eax, [0x88a36e]
lea ecx, [0x4b69e0]
mov edx, dword [esp + 0x5c]
call fcn.004f9440
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004dba00
mov byte [esp + 0x13], al
lea eax, [0x8843c8]
lea ecx, [0x4dbb10]
mov edx, dword [esp + 0x5c]
call fcn.004f9450
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004dba00
mov byte [esp + 0x12], al
lea eax, [0x5ad252]
lea ecx, [0x4ce7d0]
mov edx, dword [esp + 0x5c]
mov esi, dword [edx + 0x360]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004b6c60
mov byte [esp + 0x11], al
lea eax, [0x88983a]
lea ecx, [0x4b6d50]
mov edx, dword [esp + 0x5c]
mov esi, dword [edx + 0x360]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004b6c60
mov byte [esp + 0x10], al
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0x5c]
sub eax, 0xffffff2c
mov ecx, 0x437468
mov ecx, eax
call fcn.004054e0
mov eax, dword [esp + 0x5c]
add eax, 0xbc
mov ecx, eax
call fcn.00551e20
mov eax, dword [esp + 0x5c]
add eax, 0xa4
mov ecx, eax
call fcn.004054e0
mov eax, dword [esp + 0x5c]
add eax, 0x8c
mov ecx, eax
call fcn.00551e20
mov eax, dword [esp + 0x5c]
add eax, 0x74
mov ecx, eax
call fcn.004054e0
mov eax, dword [esp + 0x5c]
add eax, 0x5c
mov ecx, eax
call fcn.00551e20
mov eax, dword [esp + 0x5c]
add eax, 0x44
mov ecx, eax
mov ecx, eax
call fcn.004054e0
mov eax, dword [esp + 0x5c]
sub eax, 0xffffffd4
mov ecx, edx
mov ecx, eax
call fcn.00551e20
mov eax, dword [esp + 0x5c]
sub eax, 0xfffffff8
mov ecx, eax
call fcn.004b7010
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x5c]
sub eax, 0xfffffff8
mov ecx, edx
mov ecx, esp
lea edx, [esp + 0x70]
mov dword [ecx], edx
mov ecx, eax
call fcn.004db040
sub esp, 4
jmp 0x4f8a1f
jmp 0x4f8b81
jmp 0x4f8c53
mov dword [0x87fb30], 0
jmp 0x4f8d3b
jmp 0x4f905e