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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x90
call fcn.004b8e60
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], ecx
mov eax, dword [esp + 0x80]
cmp dword [eax + 0x80], 0
mov dword [esp + 0x4c], eax
je 0x4b8581
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, eax
add edx, 0x2d528db5
sub edx, 1
sub edx, 0x2d528db5
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 0x4b850d
jmp 0x4b8e07
cmp dword [esp + 0x84], 0
setne al
mov ecx, dword [0x88c650]
mov edx, dword [0x88c654]
mov esi, ecx
add esi, 0x6ccd60ca
sub esi, 1
add esi, 0x93329f36
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
and bh, bl
xor ah, bl
or bh, ah
test bh, 1
mov byte [esp + 0x4b], al
jne 0x4b8570
jmp 0x4b8e07
mov al, byte [esp + 0x4b]
test al, 1
jne 0x4b8591
jmp 0x4b8581
mov dword [esp + 0x88], 0
jmp 0x4b8d3c
mov eax, dword [esp + 0x4c]
call fcn.004b8e70
call fcn.004b8e80
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], 0
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + 0x18]
mov edx, dword [esp + 0x7c]
add edx, 0xc
mov esi, esp
mov dword [esi + 8], ecx
mov dword [esi], edx
mov dword [esi + 4], 0
mov ecx, eax
call fcn.004b8f50
sub esp, 0xc
mov ecx, 0xffffffff
mov edx, dword [esp + 0x78]
mov esi, edx
xor esi, 0x909e8361
xor esi, 0x6f617c9e
mov edi, eax
xor edi, 0xffffffff
xor ecx, 0x1d5b9dec
mov ebx, 0x4374b0
mov ebx, esi
and ebx, 0x1d5b9dec
and edx, ecx
mov dword [esp + 0x44], eax
mov eax, edi
and eax, 0x1d5b9dec
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x44]
and eax, ecx
or ebx, edx
mov edx, dword [esp + 0x40]
or edx, eax
xor ebx, edx
or esi, edi
xor esi, 0xffffffff
or ecx, 0x1d5b9dec
and esi, ecx
or ebx, esi
mov dword [esp + 0x78], ebx
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x7c]
add ecx, 0x14
mov edx, esp
call fcn.004b8e90
mov dword [edx], ecx
mov dword [edx + 4], 8
mov ecx, dword [esp + 0x4c]
call fcn.004b8f50
sub esp, 0xc
mov ecx, 0xffffffff
mov edx, dword [esp + 0x78]
mov esi, edx
xor esi, 0xffffffff
mov edi, eax
xor edi, 0x92fc7281
xor edi, 0x6d038d7e
xor ecx, 0x9dce2276
mov ebx, 0x437300
mov ebx, esi
and ebx, 0x9dce2276
and edx, ecx
mov dword [esp + 0x3c], eax
mov eax, 0x437360
mov eax, edi
and eax, 0x9dce2276
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x3c]
and eax, ecx
or ebx, edx
mov edx, dword [esp + 0x38]
or edx, eax
xor ebx, edx
or esi, edi
xor esi, 0xffffffff
or ecx, 0x9dce2276
and esi, ecx
or ebx, esi
mov dword [esp + 0x78], ebx
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x7c]
add ecx, 0x1c
mov edx, esp
mov dword [edx + 8], eax
call fcn.004b8ea0
mov dword [edx + 4], 0x10
mov ecx, dword [esp + 0x4c]
call fcn.004b8f50
sub esp, 0xc
mov ecx, dword [esp + 0x78]
mov edx, ebx
mov edx, ecx
and edx, eax
xor ecx, eax
or edx, ecx
mov dword [esp + 0x78], edx
mov eax, dword [esp + 0x78]
mov dword [esp + 0x74], eax
cmp dword [esp + 0x74], 0
jne 0x4b8ab1
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, eax
add edx, 0x1694d71d
add edx, 0xffffffff
sub edx, 0x1694d71d
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 0x4b8784
jmp 0x4b8d4d
mov al, 1
mov ecx, dword [0x88c650]
mov edx, dword [0x88c654]
mov esi, ecx
sub esi, 0x31e837fa
add esi, 0xffffffff
sub esi, 0xce17c806
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, 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 0x4b87fa
jmp 0x4b8e0c
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x58]
mov edx, dword [esp + 0x84]
mov edx, dword [edx + 0x30]
mov esi, esp
mov dword [esi], edx
lea edx, [esp + 0x58]
mov dword [esp + 0x34], ecx
mov ecx, edx
call fcn.00405440
sub esp, 4
mov ecx, dword [0x88c650]
mov edx, dword [0x88c654]
mov esi, ecx
add esi, 0xb0da7e4e
add esi, 0xffffffff
sub esi, 0xb0da7e4e
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov cl, bl
and cl, bh
xor bl, bh
or cl, bl
test cl, 1
mov dword [esp + 0x30], eax
jne 0x4b8876
jmp 0x4b8e0c
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, 0x437468
mov edx, eax
sub edx, 0x46e73376
sub edx, 1
sub edx, 0xb918cc8a
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 0x4b88c8
jmp 0x4b8d4d
mov eax, 0x437360
mov eax, esp
lea ecx, [esp + 0x58]
mov dword [eax], ecx
mov ecx, dword [esp + 0x4c]
call fcn.0047b4e0
sub esp, 4
mov dword [esp + 0x2c], eax
mov eax, 0
mov ecx, dword [0x88c650]
mov edx, dword [0x88c654]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x4b892f
jmp 0x4b8d75
mov eax, 0xffffffff
xor eax, 0x1f
mov ecx, dword [esp + 0x2c]
xor ecx, eax
mov eax, dword [esp + 0x2c]
and ecx, eax
shl ecx, 3
mov edx, dword [esp + 0x34]
sub edx, 0xd37af32f
add edx, ecx
mov ecx, dword [edx - 0x2c850cd1]
lea edx, [esp + 0x58]
mov dword [esp + 0x28], ecx
mov ecx, edx
call fcn.004054e0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + 0x18]
mov edx, dword [esp + 0x70]
mov esi, esp
mov dword [esi + 8], ecx
mov dword [esi], edx
mov dword [esi + 4], 0x3c
mov ecx, dword [esp + 0x4c]
call fcn.004b8f50
sub esp, 0xc
mov ecx, dword [0x88c650]
call fcn.004b8eb0
mov esi, ecx
sub esi, 0xe84fa831
sub esi, 1
sub esi, 0x17b057cf
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov cl, bl
and cl, bh
xor bl, bh
or cl, bl
test cl, 1
mov dword [esp + 0x24], eax
jne 0x4b89ed
jmp 0x4b8d75
mov eax, 0
mov ecx, dword [0x88c650]
mov edx, dword [0x88c654]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x4b8a37
jmp 0x4b8e34
mov al, 1
mov ecx, dword [0x88c650]
call fcn.004b8ec0
mov esi, ecx
sub esi, 0x3d682fc7
sub esi, 1
sub esi, 0xc297d039
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, 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 0x4b8aac
jmp 0x4b8e34
jmp 0x4b8bb4
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 0x4b8b22
jmp 0x4b8e39
mov eax, dword [esp + 0x74]
add eax, 0x3c
mov ecx, esp
mov dword [ecx], eax
mov ecx, dword [esp + 0x4c]
call fcn.004dd860
sub esp, 4
mov dl, 1
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov esi, eax
sub esi, 0x95a055c8
add esi, 0xffffffff
sub esi, 0x6a5faa38
imul eax, esi
and eax, 1
cmp eax, 0
sete dh
cmp ecx, 0xa
setl bl
mov bh, dh
xor bh, 1
mov al, bl
xor al, 1
xor dl, 0
mov ah, bh
and ah, 0
and dh, dl
mov cl, al
and cl, 0
and bl, dl
or ah, dh
or cl, bl
xor ah, cl
or bh, al
xor bh, 1
or dl, 0
and bh, dl
or ah, bh
test ah, 1
jne 0x4b8baf
jmp 0x4b8e39
jmp 0x4b8bb4
cmp dword [esp + 0x74], 0
je 0x4b8d25
mov al, 1
call fcn.004b8ed0
mov edx, dword [0x88c654]
mov esi, ecx
add esi, 0xed5056bb
sub esi, 1
add esi, 0x12afa945
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 0x4b8c37
jmp 0x4b8e02
mov al, 1
mov ecx, 0x5c67b4
mov ecx, dword [ecx]
pushfd
xor edx, edx
add edx, 0x2d18630
sub edx, 0x2d18631
popfd
mov esi, dword [esp + 0x4c]
mov edi, dword [esi + 0x11c]
xor edi, 0xffffffff
mov ebx, 0x4374b0
mov ebx, edx
xor ebx, 8
xor edx, 0xf7201f68
or edi, ebx
or edx, 0xf7201f68
xor edi, 0xffffffff
and edi, edx
cmp edi, 0
setne ah
call fcn.004b8ee0
call fcn.004b8ef0
sub ecx, 1
mov ebx, 0x437390
mov ebx, edx
add ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete cl
cmp edi, 0xa
setl ch
mov dl, cl
xor dl, 1
mov dh, ch
xor dh, 1
xor al, 0
mov bl, dl
and bl, 0
and cl, al
mov bh, dh
and bh, 0
and ch, al
or bl, cl
or bh, ch
xor bl, bh
or dl, dh
xor dl, 1
or al, 0
and dl, al
or bl, dl
test bl, 1
mov byte [esp + 0x23], ah
jne 0x4b8cfd
jmp 0x4b8e02
mov al, byte [esp + 0x23]
test al, 1
jne 0x4b8d0e
jmp 0x4b8d25
mov eax, dword [esp + 0x74]
mov ecx, esp
call fcn.004b8f00
mov ecx, dword [esp + 0x4c]
call fcn.005298c0
sub esp, 4
cmp dword [esp + 0x74], 0
setne al
and al, 1
movzx ecx, al
mov dword [esp + 0x88], ecx
mov eax, dword [esp + 0x88]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x30]
mov ecx, 0x800
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x58]
call fcn.00405440
sub esp, 4
mov dword [esp + 0x1c], eax
jmp 0x4b8784
mov eax, 0
mov ecx, 0xffffffff
mov edx, dword [esp + 0x2c]
xor edx, 0xffffffff
mov esi, ecx
xor esi, 0x2781f075
xor esi, 0x2781f06a
xor ecx, 0xbc369b25
or edx, esi
or ecx, 0xbc369b25
xor edx, 0xffffffff
and edx, ecx
shl edx, 3
sub eax, edx
mov ecx, dword [esp + 0x34]
sub ecx, eax
mov eax, dword [ecx]
lea ecx, [esp + 0x58]
mov dword [esp + 0x18], eax
call fcn.004054e0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + 0x18]
mov edx, dword [esp + 0x70]
mov esi, esp
call fcn.004b8f10
mov dword [esi], edx
mov dword [esi + 4], 0x3c
mov ecx, dword [esp + 0x4c]
call fcn.004b8f50
sub esp, 0xc
mov dword [esp + 0x14], eax
jmp 0x4b892f
jmp 0x4b8c37
jmp 0x4b850d
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x30]
mov ecx, 0x3ffff
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x58]
call fcn.00405440
sub esp, 4
mov dword [esp + 0x10], eax
jmp 0x4b87fa
jmp 0x4b8a37
mov eax, dword [esp + 0x74]
add eax, 0x3c
mov ecx, esp
call fcn.004b8f20
mov ecx, dword [esp + 0x4c]
call fcn.004dd860
sub esp, 4
jmp 0x4b8b22