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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x100e3008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x20], edi
mov ecx, dword [edi + 0x60]
mov edx, dword [edi + 0x64]
cmp ecx, edx
je 0x1004b8c6
mov eax, edx
sub eax, ecx
sar eax, 7
push edi
push eax
call fcn.1004fe20
mov edx, dword [edi + 0x64]
add esp, 8
mov esi, dword [edi + 0x60]
mov eax, edx
sub eax, esi
sar eax, 7
cmp eax, 1
jbe 0x1004b9d7
xor eax, eax
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], 0x80
mov dword [ebp - 0x24], 2
lea ecx, [eax + 1]
nop word [eax + eax]
mov ebx, dword [ebp - 0x14]
mov eax, dword [esi + eax + 0x5c]
cmp eax, dword [esi + ebx + 0xdc]
jne 0x1004b9af
mov eax, ebx
lea edx, [esi + eax]
add eax, esi
cmp byte [edi + 0x83], 0
je 0x1004ba37
cmp dword [eax + 0xb0], 8
lea ecx, [eax + 0x9c]
jb 0x1004b93d
mov ecx, dword [eax + 0x9c]
cmp dword [edx + 0x30], 8
lea ebx, [edx + 0x1c]
jb 0x1004b949
mov ebx, dword [edx + 0x1c]
mov edx, dword [edx + 0x2c]
cmp edx, dword [eax + 0xac]
jne 0x1004bb66
test edx, edx
je 0x1004b971
sub ebx, ecx
nop
mov ax, word [ecx + ebx]
cmp ax, word [ecx]
jne 0x1004b9a9
add ecx, 2
sub edx, 1
jne 0x1004b960
mov eax, dword [ebp - 0x14]
mov ebx, dword [esi + eax]
mov eax, dword [esi + eax + 0x80]
cmp ebx, eax
je 0x1004bace
test ebx, ebx
js 0x1004b9a9
test eax, eax
js 0x1004b9a9
mov ecx, dword [edi]
lea eax, [eax + eax*2]
lea edx, [ecx + eax*8]
lea eax, [ebx + ebx*2]
lea ecx, [ecx + eax*8]
call fcn.1002a810
test al, al
je 0x1004bace
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
mov edx, dword [edi + 0x64]
sub ebx, 0xffffff80
mov esi, dword [edi + 0x60]
mov eax, edx
inc dword [ebp - 0x24]
sub eax, esi
sub dword [ebp - 0x1c], 0xffffff80
inc ecx
sar eax, 7
cmp ecx, eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], ecx
mov eax, ebx
jb 0x1004b900
mov eax, edx
sub eax, esi
sar eax, 7
test eax, eax
je 0x1004bba6
mov eax, 1
xor ebx, ebx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ebx
lea ecx, [esi + ebx]
sub edx, esi
mov ebx, dword [ecx + 0x5c]
sar edx, 7
add ebx, 4
mov dword [ebp - 0x24], ecx
mov ecx, eax
cmp eax, edx
jae 0x1004bb80
mov eax, dword [ebp - 0x1c]
add eax, 0xdc
add eax, esi
nop dword [eax + eax]
mov esi, dword [eax]
cmp ebx, esi
jbe 0x1004bb71
inc ecx
sub eax, 0xffffff80
cmp ecx, edx
jb 0x1004ba20
jmp 0x1004bb7d
cmp dword [eax + 0x98], 0x10
lea ebx, [eax + 0x84]
jb 0x1004ba4c
mov ebx, dword [eax + 0x84]
cmp dword [edx + 0x18], 0x10
lea ecx, [edx + 4]
jb 0x1004ba58
mov ecx, dword [edx + 4]
push dword [eax + 0x94]
mov edx, dword [edx + 0x14]
push ebx
call fcn.10050950
add esp, 8
test al, al
je 0x1004b9a9
mov ebx, dword [ebp - 0x14]
mov eax, dword [esi + ebx]
mov edx, dword [esi + ebx + 0x80]
cmp eax, edx
je 0x1004bace
test eax, eax
js 0x1004bb69
test edx, edx
js 0x1004bb69
mov ecx, dword [edi + 0xc]
lea eax, [eax + eax*2]
lea esi, [ecx + eax*8]
lea eax, [edx + edx*2]
cmp dword [ecx + eax*8 + 0x14], 0x10
lea eax, [ecx + eax*8]
mov edx, eax
jb 0x1004baad
mov edx, dword [eax]
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x1004bab7
mov ecx, dword [esi]
push dword [eax + 0x10]
push edx
mov edx, dword [esi + 0x10]
call fcn.10050950
add esp, 8
test al, al
je 0x1004bb69
cmp dword [ebp - 0x18], 0
mov ecx, 1
jl 0x1004bb52
mov ebx, dword [edi + 0x64]
mov eax, ebx
mov edx, dword [edi + 0x60]
sub eax, edx
mov edi, dword [ebp - 0x18]
sar eax, 7
cmp dword [ebp - 0x24], eax
jle 0x1004baf2
mov ecx, eax
sub ecx, edi
lea esi, [ecx + edi]
mov edi, dword [ebp - 0x1c]
shl esi, 7
add edi, edx
add esi, edx
cmp edi, esi
je 0x1004bb4f
cmp esi, ebx
je 0x1004bb1f
push esi
mov ecx, edi
call fcn.10050ab0
sub esi, 0xffffff80
sub edi, 0xffffff80
cmp esi, ebx
jne 0x1004bb07
mov ebx, dword [ebp - 0x20]
mov ebx, dword [ebx + 0x64]
mov esi, edi
cmp edi, ebx
je 0x1004bb33
mov ecx, esi
call fcn.100481b0
sub esi, 0xffffff80
cmp esi, ebx
jne 0x1004bb25
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
add dword [ebp - 0x14], 0xffffff80
dec ecx
dec dword [ebp - 0x24]
add dword [ebp - 0x1c], 0xffffff80
mov dword [eax + 0x64], edi
mov edi, eax
jmp 0x1004b9ac
mov edi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
add dword [ebp - 0x14], 0xffffff80
dec ecx
dec dword [ebp - 0x24]
add dword [ebp - 0x1c], 0xffffff80
jmp 0x1004b9ac
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
jmp 0x1004b9af
mov eax, dword [ebp - 0x24]
sub esi, ebx
mov byte [eax + 0x4d], 1
mov dword [eax + 0x50], esi
mov eax, dword [ebp - 0x20]
mov edx, dword [edi + 0x64]
inc eax
mov esi, dword [edi + 0x60]
mov ecx, edx
mov ebx, dword [ebp - 0x1c]
sub ecx, esi
mov dword [ebp - 0x20], eax
sub ebx, 0xffffff80
dec eax
sar ecx, 7
cmp eax, ecx
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp - 0x20]
jb 0x1004b9f3
cmp byte [edi + 0x80], 0
jne 0x1004bc92
sub edx, esi
mov dword [ebp - 0x1c], 0
sar edx, 7
test edx, edx
je 0x1004bc92
xor edx, edx
mov dword [ebp - 0x24], edx
nop dword [eax]
mov ecx, dword [edi + 0xa0]
lea ebx, [esi + edx]
mov esi, dword [ebx + 0x5c]
xor edx, edx
add esi, dword [edi + 0xc4]
push 0
mov eax, dword [ecx]
adc edx, edx
add esi, dword [edi + 0x20]
push 0
adc edx, dword [edi + 0x24]
add esi, 4
adc edx, 0
push edx
push esi
call dword [eax + 0x14]
test eax, eax
jne 0x1004bc94
mov ecx, dword [edi + 0xa0]
lea eax, [ebp - 0x20]
push eax
lea edx, [ebp - 0x10]
mov dword [ebp - 0x20], 0xa
call fcn.1008e5c0
add esp, 4
test eax, eax
jne 0x1004bc94
mov eax, dword [ebp - 0x20]
cmp eax, 4
jb 0x1004bca5
mov ecx, dword [ebp - 0x10]
test ecx, ecx
jns 0x1004bc5d
mov byte [ebx + 0x3c], 1
and ecx, 0x7fffffff
cmp dword [edi + 0x78], 3
jne 0x1004bc68
cmp eax, 9
jb 0x1004bca5
xor eax, eax
cmp byte [edi + 0x82], al
setne al
mov eax, dword [ebp + eax - 0xb]
mov dword [ebx + 0x60], eax
jmp 0x1004bc68
mov byte [ebx + 0x3c], 0
mov dword [ebx + 0x40], ecx
mov byte [ebx + 0x44], 1
mov edx, dword [ebp - 0x24]
mov dword [ebx + 0x48], ecx
sub edx, 0xffffff80
mov ecx, dword [ebp - 0x1c]
mov byte [ebx + 0x4c], 1
inc ecx
mov eax, dword [edi + 0x64]
mov esi, dword [edi + 0x60]
sub eax, esi
sar eax, 7
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x24], edx
cmp ecx, eax
jb 0x1004bbd0
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1009bd8a
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1009bd8a
mov esp, ebp
pop ebp
ret