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

Disassembly:
sub esp, 0xd0
push ebx
push ebp
push esi
mov esi, ecx
xor eax, eax
xor ecx, ecx
mov ebx, dword [esi + 0xa0]
push edi
mov edi, dword [esp + 0xe8]
cmp ebx, eax
setne cl
or ecx, 8
push edi
mov word [esp + 0xd0], cx
mov ecx, esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x48], edi
mov dword [esp + 0x40], eax
mov dword [esp + 0xc0], 1
call fcn.004af6d0
mov edx, dword [esi + 0x41c]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x24], edx
mov ecx, dword [esi + 0x40c]
mov eax, dword [esi + 0x41c]
push ecx
mov ecx, esi
mov dword [esp + 0x1c], eax
call fcn.00481a50
mov ebx, 1
cmp word [eax + 0x1c], bx
je 0x4b199b
mov edx, dword [esi + 0x41c]
mov eax, dword [esi + 0x3f8]
cmp edx, eax
jne 0x4b196d
cmp word [esi + 0x450], 0
je 0x4b192f
mov eax, dword [esi + 0x424]
mov ecx, dword [esi + 0x410]
cmp eax, ecx
jne 0x4b2015
cmp word [esi + 0x44a], 0
jne 0x4b1942
cmp word [esi + 0x448], bx
jbe 0x4b196d
mov ecx, dword [esi + 0x3fc]
push ecx
mov ecx, esi
call fcn.00484770
push eax
call fcn.00485500
add esp, 4
mov ecx, esi
push eax
call fcn.00487a00
cmp eax, dword [esi + 0x40c]
jne 0x4b2037
cmp word [esi + 0x44e], 0
je 0x4b199b
mov edx, dword [esi + 0x420]
mov eax, dword [esi + 0x3fc]
cmp edx, eax
jne 0x4b199b
mov eax, dword [esi + 0x428]
mov ecx, dword [esi + 0x414]
cmp eax, ecx
je 0x4b205c
mov ecx, dword [esi + 0x40c]
mov eax, dword [esi + 0x3f8]
mov ebx, dword [esi + 0x43c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x30], edi
cmp ecx, eax
mov dword [esp + 0x2c], ebx
jne 0x4b19d5
mov ebp, dword [esi + 0x440]
mov eax, dword [esi + 0x438]
add ebp, eax
mov dword [esp + 0x14], ebp
jmp 0x4b1a10
push eax
mov ecx, esi
call fcn.00484750
push edi
push eax
call fcn.00486c50
xor edx, edx
add esp, 8
mov dx, word [esi + 0x446]
cmp eax, edx
jae 0x4b1a04
mov eax, dword [esi + 0x440]
mov ecx, dword [esi + 0x438]
add eax, ecx
jmp 0x4b1a0a
mov eax, dword [esi + 0x438]
mov dword [esp + 0x14], eax
mov ebp, eax
cmp word [esi + 0x5bc], 1
jne 0x4b1a24
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x14], ebx
mov ebp, ebx
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xe4]
push ecx
push edx
mov ecx, esi
mov dword [esp + 0x30], 0
call fcn.004a8400
push edi
mov ecx, esi
mov dword [esp + 0x68], eax
call fcn.00484790
mov ebx, eax
mov ax, word [ebx + 6]
test ax, ax
je 0x4b1ab9
and eax, 0xffff
mov edx, dword [ebx + eax*8 + 4]
mov ecx, dword [ebx + eax*8]
lea eax, [ebx + eax*8]
sub edx, 0x1770
push ecx
push edx
call fcn.00412550
add esp, 8
cmp ebp, eax
jle 0x4b1a80
mov dword [esp + 0x14], eax
mov ebp, eax
mov eax, dword [esp + 0x20]
mov ecx, esi
push eax
call fcn.00481a50
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x2c]
sub ecx, ebp
sub ecx, 0x1770
cmp ecx, eax
jge 0x4b1ab9
mov edx, dword [esp + 0x20]
mov ecx, esi
push edx
call fcn.00481a50
mov eax, dword [eax + 4]
sub eax, ebp
sub eax, 0x1770
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x394]
mov dword [esp + 0x34], 0
test eax, eax
je 0x4b1afc
mov eax, dword [esp + 0x20]
mov ecx, esi
push eax
call fcn.00481a50
mov eax, dword [eax + 0x10]
test eax, eax
je 0x4b1b12
push eax
call fcn.00485500
lea ecx, [esi + 0x3a8]
push eax
push ecx
call fcn.004871f0
push eax
call fcn.004879e0
add esp, 0x10
jmp 0x4b1b09
mov edx, dword [esp + 0x20]
push edx
call fcn.004879e0
add esp, 4
and eax, 0xffff
mov dword [esp + 0x34], eax
mov ax, word [ebx + 6]
xor ecx, ecx
cmp ax, cx
mov word [ebx + 4], cx
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x38], ecx
jbe 0x4b1cb3
jmp 0x4b1b3f
mov eax, dword [esp + 0x54]
cmp word [esi + 0x5bc], 0
jne 0x4b1b4f
mov eax, dword [esp + 0x28]
jmp 0x4b1b54
sub eax, dword [esp + 0x28]
dec eax
mov ebp, eax
mov eax, dword [esp + 0x14]
and ebp, 0xffff
push eax
mov ecx, dword [ebx + ebp*8 + 8]
push ecx
call fcn.00412550
mov edx, dword [esi + 0x40c]
add esp, 8
mov ecx, esi
mov dword [esp + 0x50], eax
push edx
call fcn.00481a50
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x2c]
mov ecx, dword [ebx + ebp*8 + 0xc]
sub eax, edx
push eax
push ecx
call fcn.00412540
mov ecx, dword [esp + 0x58]
add esp, 8
cmp ecx, eax
mov dword [esp + 0x58], eax
jge 0x4b1c9f
mov eax, dword [esi + 0x40c]
mov dx, word [ebx + 4]
push eax
mov ecx, esi
mov word [esp + 0x60], dx
call fcn.00481a50
mov ecx, dword [ebx + ebp*8 + 8]
test ecx, ecx
jne 0x4b1bd8
mov ecx, dword [ebx + ebp*8 + 0xc]
mov edx, dword [eax + 4]
cmp ecx, edx
jne 0x4b1bd8
mov eax, 1
jmp 0x4b1bda
xor eax, eax
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
push edx
push eax
lea eax, [esp + 0x78]
lea ecx, [esp + 0x68]
push eax
lea edx, [esp + 0x78]
push ecx
mov ecx, dword [esi + 0x40c]
lea eax, [esp + 0x78]
push edx
mov edx, dword [esp + 0x6c]
push eax
mov eax, dword [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x104]
push eax
push ecx
push ebx
push edi
push edx
mov ecx, esi
call fcn.00489f20
mov ebp, eax
push ebx
mov ecx, esi
mov dword [esp + 0x1c], ebp
call fcn.004af580
push edi
mov ecx, esi
call fcn.00484790
mov ecx, dword [esp + 0x48]
mov ebx, eax
mov eax, dword [esp + 0x60]
cmp ecx, eax
jge 0x4b1c47
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jge 0x4b1c57
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jge 0x4b1c67
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jge 0x4b1c77
mov dword [esp + 0x40], eax
cmp word [esi + 0x5bc], 1
jne 0x4b1c97
mov eax, dword [esp + 0x5c]
mov ecx, esi
push eax
push edi
call fcn.00484790
push eax
call fcn.004b16b0
add esp, 8
cmp ebp, dword [esi + 0x3fc]
jge 0x4b1cb3
mov eax, dword [esp + 0x28]
inc eax
cmp ax, word [esp + 0x54]
mov dword [esp + 0x28], eax
jb 0x4b1b3b
mov ecx, dword [esi + 0x40c]
push ecx
mov ecx, esi
call fcn.00481a50
mov dx, word [eax + 0x14]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x54]
push ecx
push edx
push eax
push edi
mov ecx, esi
call fcn.00484790
lea ecx, [esi + 0x434]
push eax
push ecx
call fcn.004b1770
push eax
push 0
call fcn.00412550
mov edx, dword [esp + 0x3c]
add esp, 0x24
mov ebp, eax
mov eax, dword [esp + 0xe4]
push edx
push eax
mov ecx, esi
call fcn.00489bc0
mov ebx, eax
mov eax, dword [esp + 0x64]
add eax, ebp
push edi
add ebx, eax
call fcn.00486c10
add esp, 4
cmp ebx, eax
push edi
jne 0x4b2081
call fcn.00490a80
mov ebp, eax
mov eax, dword [esp + 0x1c]
add esp, 4
cmp ebp, eax
jge 0x4b1d8d
push edi
call fcn.00481a40
mov ecx, dword [esp + 0x1c]
add esp, 4
mov ebx, eax
push ecx
mov ecx, esi
call fcn.00484750
cmp ebx, eax
je 0x4b1d76
mov edx, dword [esp + 0x18]
mov ecx, dword [esi + 0x3fc]
cmp edx, ecx
je 0x4b209d
push 1
push eax
push ebx
mov ecx, esi
call fcn.004b21a0
mov eax, dword [esp + 0x18]
sub eax, ebp
push eax
push edi
call fcn.00490aa0
add esp, 8
mov edi, ebx
jmp 0x4b1e6c
jle 0x4b1e39
cmp ebp, dword [esi + 0x3fc]
jl 0x4b1e23
sub eax, ebp
push eax
push edi
call fcn.00490ac0
mov edx, dword [esp + 0x20]
add esp, 8
sub ebp, edx
mov ecx, esi
push ebx
push ebp
push edi
call fcn.00486ce0
mov ecx, dword [esi + 0x40c]
push ebx
push ecx
mov edi, eax
call fcn.00490ac0
add esp, 8
or eax, 0xffffffff
mov ecx, esi
mov dword [esi + 0x420], eax
push edi
mov dword [esi + 0x414], eax
call fcn.00484790
xor ecx, ecx
push 1
mov word [eax + 6], cx
mov word [eax + 4], cx
mov edx, dword [esi + 0x40c]
mov ecx, esi
push edx
call fcn.0048f6d0
mov eax, dword [esp + 0x1c]
push 1
push edi
push eax
mov ecx, esi
call fcn.004b2150
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, esi
call fcn.004af580
mov edx, dword [esp + 0x30]
mov dword [esp + 0x10], edx
jmp 0x4b1e6c
sub eax, ebp
push eax
push edi
call fcn.00490aa0
push edi
call fcn.00481a40
add esp, 0xc
mov edi, eax
jmp 0x4b1e6c
push edi
call fcn.00481a40
mov edi, eax
add esp, 4
test edi, edi
je 0x4b1e55
push edi
call fcn.00486c30
add esp, 4
test al, 1
jne 0x4b1e6c
mov eax, dword [esp + 0x1c]
push 0
push edi
push eax
mov ecx, esi
call fcn.004b2150
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov dword [esi + 0x420], eax
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4b1fce
mov eax, dword [esp + 0xec]
test eax, eax
je 0x4b1fce
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x20]
cmp eax, ebp
je 0x4b1fd2
test eax, eax
je 0x4b1edf
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x44]
lea edx, [esp + 0xbc]
lea ecx, [esp + 0x74]
push edx
push ebx
push eax
push ecx
mov ecx, esi
call fcn.0049a1b0
mov edx, dword [esp + 0xe4]
lea eax, [esp + 0x74]
push edx
push eax
mov ecx, esi
mov dword [esp + 0x4c], ebx
call fcn.0049dc10
lea ecx, [esi + 0xb0]
push ebp
call fcn.00485250
mov ebx, eax
mov eax, dword [esi + 0x394]
test eax, eax
je 0x4b1f23
push ebp
call fcn.00433030
xor ecx, ecx
and eax, 0xffff
mov cx, word [esi + 0x3bc]
add esp, 4
sub eax, ecx
xor ecx, ecx
mov cx, word [esi + 0x3ba]
cdq
idiv ecx
mov word [esi + 0x3b6], dx
mov edx, dword [esp + 0xe4]
push 1
push ebx
lea eax, [esp + 0x7c]
push edx
push eax
mov ecx, esi
call fcn.0049dbb0
mov ecx, dword [esp + 0x30]
push ecx
mov ecx, esi
call fcn.004af6d0
mov ecx, dword [esp + 0xe4]
mov edx, dword [esi]
lea eax, [esp + 0xac]
push 1
push eax
push ebx
push ecx
mov ecx, esi
call dword [edx + 0x4c]
cmp word [ebx + 0x14], 1
jne 0x4b1fbc
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x78]
mov ebx, eax
mov dword [esp + 0xd8], edx
sub ebx, dword [esp + 0xd8]
mov edx, dword [esp + 0xb8]
sub eax, ecx
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb8], eax
push ebp
lea ecx, [esi + 0xb0]
call fcn.00485270
mov dword [esp + 0x3c], ebp
jmp 0x4b1fd2
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4b20de
push edi
mov ecx, esi
call fcn.004af6d0
mov eax, dword [esi + 0x40c]
cmp ebp, eax
je 0x4b18da
push eax
call fcn.0049a970
push 0
push ebp
mov ebx, eax
call fcn.0048f530
add esp, 0xc
test bx, bx
jne 0x4b20c2
jmp 0x4b18da
push edi
call fcn.0049eaf0
add esp, 4
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x40c]
mov ecx, esi
push ebx
push eax
call fcn.0048f6d0
push ebx
jmp 0x4b20d1
push edi
call fcn.0049eaf0
mov edx, dword [esi + 0x40c]
add esp, 4
mov ecx, esi
mov dword [esp + 0x10], eax
push ebx
push edx
call fcn.0048f6d0
mov eax, dword [esp + 0x1c]
push ebx
push edi
push eax
jmp 0x4b20d7
push edi
call fcn.0049eaf0
mov ecx, dword [esi + 0x40c]
add esp, 4
mov dword [esp + 0x10], eax
push ebx
push ecx
mov ecx, esi
call fcn.0048f6d0
mov edx, dword [esp + 0x1c]
push ebx
push edi
push edx
jmp 0x4b20d7
call fcn.0049eaf0
add esp, 4
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov ecx, esi
push 1
push eax
call fcn.0048f6d0
jmp 0x4b20cf
push edi
call fcn.0049eaf0
mov edx, dword [esp + 0x24]
add esp, 4
mov ecx, esi
mov dword [esp + 0x10], eax
push 1
push edx
call fcn.0048f6d0
mov eax, dword [esp + 0x1c]
push 1
push edi
push eax
jmp 0x4b20d7
push edi
call fcn.0049eaf0
add esp, 4
mov dword [esp + 0x10], eax
push 1
mov ecx, dword [esp + 0x20]
push edi
push ecx
mov ecx, esi
call fcn.004b2150
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4b2125
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b2111
lea edx, [esp + 0xbc]
push edx
push eax
call fcn.00481a40
add esp, 4
lea ecx, [esp + 0x78]
push eax
mov eax, dword [esp + 0x4c]
push eax
push ecx
mov ecx, esi
call fcn.0049a1b0
mov edx, dword [esp + 0xe4]
lea eax, [esp + 0x74]
push edx
push eax
mov ecx, esi
call fcn.0049dc10
mov dword [esi + 0x420], 0xffffffff
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xd0
ret 0xc