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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
mov eax, dword [0x502ae0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
mov eax, dword [ebx]
push edi
mov edi, dword [ebp + 8]
call dword [eax + 0x190]
test al, al
jne 0x4bb417
mov eax, dword [edi + 4]
cmp eax, 9
jle 0x4bb417
cmp eax, 0x19
jge 0x4bb417
mov ecx, dword [ebx + 0x48]
push edi
test ecx, ecx
je 0x4bb40b
mov eax, dword [ecx]
call dword [eax + 0x1dc]
jmp 0x4bbdac
mov ecx, ebx
call fcn.0048ab07
jmp 0x4bbdac
mov eax, dword [edi + 4]
cmp eax, 0x1b
jne 0x4bb42b
mov byte [ebx + 0xba], 1
jmp 0x4bbdac
cmp eax, 0x1a
jne 0x4bb43c
mov byte [ebx + 0xba], 0
jmp 0x4bbdac
mov ecx, dword [ebx + 0x310]
push esi
test ecx, ecx
je 0x4bb6e4
mov eax, dword [ecx]
call dword [eax + 0x17c]
test al, al
je 0x4bb6e4
mov ecx, dword [ebx + 0x310]
mov eax, dword [ecx]
call dword [eax + 0x188]
test al, al
je 0x4bb6e4
mov ecx, dword [edi + 4]
cmp ecx, 3
jne 0x4bb4e5
movzx eax, word [edi + 0x18]
sub eax, 0x21
je 0x4bb4d8
dec eax
je 0x4bb4cb
dec eax
je 0x4bb4be
dec eax
je 0x4bb4b1
dec eax
dec eax
je 0x4bb4a4
dec eax
dec eax
jne 0x4bb7b9
lea ecx, [ebx - 8]
mov eax, dword [ecx]
call dword [eax + 0x54]
jmp 0x4bbdab
lea ecx, [ebx - 8]
mov eax, dword [ecx]
call dword [eax + 0x50]
jmp 0x4bbdab
lea ecx, [ebx - 8]
mov eax, dword [ecx]
call dword [eax + 0x60]
jmp 0x4bbdab
lea ecx, [ebx - 8]
mov eax, dword [ecx]
call dword [eax + 0x64]
jmp 0x4bbdab
lea ecx, [ebx - 8]
mov eax, dword [ecx]
call dword [eax + 0x5c]
jmp 0x4bbdab
lea ecx, [ebx - 8]
mov eax, dword [ecx]
call dword [eax + 0x58]
jmp 0x4bbdab
lea esi, [ebx - 8]
mov eax, esi
neg eax
sbb eax, eax
and eax, ebx
cmp dword [edi + 8], eax
jne 0x4bb5a3
cmp ecx, 0x1e
jne 0x4bb5a3
cmp dword [edi + 0x1c], 0x18
jne 0x4bb5a3
mov ecx, dword [ebx + 0x324]
test ecx, ecx
jle 0x4bb58a
mov eax, dword [ebx - 8]
dec ecx
mov dword [ebx + 0x324], ecx
lea ecx, [ebp - 0xc]
push ecx
lea ecx, [ebx - 8]
call dword [eax + 0x3c]
mov eax, dword [ebx - 8]
lea ecx, [ebp - 0x1c]
push ecx
lea ecx, [ebx - 8]
call dword [eax + 0x40]
fild dword [ebx + 0x324]
push 2
push ecx
fidiv dword [ebx + 0x320]
push ecx
fstp qword [esp]
call fcn.004286f1
fimul dword [ebx + 0x31c]
add esp, 0xc
call fcn.0044f3a0
test eax, eax
jle 0x4bb569
cmp dword [ebp - 8], 0
jne 0x4bb573
test eax, eax
jns 0x4bb58a
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0x18]
je 0x4bb58a
sub dword [ebp - 8], eax
push dword [ebp - 8]
mov eax, dword [ebx - 8]
push dword [ebp - 0xc]
lea ecx, [ebx - 8]
call dword [eax + 0x44]
jmp 0x4bbdab
xor eax, eax
mov dword [ebx + 0x31c], eax
mov dword [ebx + 0x320], eax
mov dword [ebx + 0x324], eax
jmp 0x4bb674
cmp ecx, 0x18
jne 0x4bb7b9
lea ecx, [ebx - 8]
mov eax, dword [ecx]
mov dword [ebp - 0x3c], ecx
call dword [eax + 0xcc]
test al, al
jne 0x4bb5de
movzx eax, word [edi + 0x1c]
sub eax, 0
je 0x4bb5d6
dec eax
jne 0x4bb7b9
mov ecx, dword [ebp - 0x3c]
jmp 0x4bb7a2
mov ecx, dword [ebp - 0x3c]
jmp 0x4bb7af
mov ecx, dword [ebx + 0x310]
call fcn.00494d19
mov ecx, dword [ebx + 0x310]
mov dword [ebp - 8], eax
call fcn.00494d6f
mov ecx, dword [ebx + 0x310]
mov dword [ebp - 0x3c], eax
call fcn.00494ddc
mov ecx, dword [ebx + 0x320]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jle 0x4bb63f
fild dword [ebx + 0x324]
push 2
push ecx
push ecx
fidiv dword [ebp - 0x18]
fstp qword [esp]
call fcn.004286f1
fimul dword [ebx + 0x31c]
add esp, 0xc
call fcn.0044f3a0
mov dword [ebx + 0x31c], eax
movzx ecx, word [edi + 0x1c]
xor edx, edx
sub ecx, edx
je 0x4bb66f
dec ecx
jne 0x4bb69d
mov ecx, dword [ebp - 8]
cmp dword [ebp - 0x3c], ecx
je 0x4bb674
cmp eax, edx
jle 0x4bb664
mov dword [ebx + 0x31c], edx
mov eax, dword [ebp - 0x38]
sub dword [ebx + 0x31c], eax
jmp 0x4bb69d
cmp dword [ebp - 0x3c], edx
jne 0x4bb68a
mov ecx, dword [ebx + 0x44]
neg esi
sbb esi, esi
and esi, ebx
push 0x18
push esi
call fcn.0047cc44
jmp 0x4bbdab
cmp eax, edx
jge 0x4bb694
mov dword [ebx + 0x31c], edx
mov eax, dword [ebp - 0x38]
add dword [ebx + 0x31c], eax
push dword [ebx + 0x31c]
call fcn.004530a5
mov dword [ebp - 8], eax
fild dword [ebp - 8]
push ecx
fstp qword [esp]
call fcn.004530e4
pop ecx
fadd st(0), st(0)
pop ecx
call fcn.0044f3a0
mov ecx, dword [ebx + 0x44]
neg esi
push 0x1e
sbb esi, esi
and esi, ebx
push 0x18
push esi
mov dword [ebx + 0x320], eax
mov dword [ebx + 0x324], eax
call fcn.0047cb5a
jmp 0x4bbdab
mov ecx, dword [ebx + 0x314]
test ecx, ecx
je 0x4bb7b9
mov eax, dword [ecx]
call dword [eax + 0x17c]
test al, al
je 0x4bb7b9
mov ecx, dword [ebx + 0x314]
mov eax, dword [ecx]
call dword [eax + 0x188]
test al, al
je 0x4bb7b9
mov eax, dword [edi + 4]
cmp eax, 3
jne 0x4bb78e
movzx eax, word [edi + 0x18]
sub eax, 0x21
je 0x4bb781
dec eax
je 0x4bb774
dec eax
je 0x4bb764
dec eax
je 0x4bb754
dec eax
dec eax
je 0x4bb747
dec eax
dec eax
jne 0x4bb7b9
lea ecx, [ebx - 8]
mov eax, dword [ecx]
call dword [eax + 0x74]
jmp 0x4bbdab
lea ecx, [ebx - 8]
mov eax, dword [ecx]
call dword [eax + 0x70]
jmp 0x4bbdab
lea ecx, [ebx - 8]
mov eax, dword [ecx]
call dword [eax + 0x80]
jmp 0x4bbdab
lea ecx, [ebx - 8]
mov eax, dword [ecx]
call dword [eax + 0x84]
jmp 0x4bbdab
lea ecx, [ebx - 8]
mov eax, dword [ecx]
call dword [eax + 0x7c]
jmp 0x4bbdab
lea ecx, [ebx - 8]
mov eax, dword [ecx]
call dword [eax + 0x78]
jmp 0x4bbdab
cmp eax, 0x18
jne 0x4bb7b9
movzx eax, word [edi + 0x1c]
sub eax, 0
je 0x4bb7ac
dec eax
jne 0x4bb7b9
lea ecx, [ebx - 8]
mov eax, dword [ecx]
call dword [eax + 0x6c]
jmp 0x4bbdab
lea ecx, [ebx - 8]
mov eax, dword [ecx]
call dword [eax + 0x68]
jmp 0x4bbdab
cmp dword [ebx + 0x32c], 0
jne 0x4bb7cf
cmp dword [ebx + 0x330], 0
je 0x4bbda3
cmp dword [edi + 4], 0xe
mov esi, dword [sym.imp.USER32.dll_PtInRect]
jne 0x4bb891
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x188]
test al, al
je 0x4bb891
push 0
lea eax, [ebp - 0x14]
lea ecx, [ebx - 8]
push eax
call fcn.004b7cd3
push dword [edi + 0x14]
lea eax, [ebp - 0x14]
push dword [edi + 0x10]
push eax
call esi
test eax, eax
je 0x4bb818
mov byte [ebx + 0x329], 1
jmp 0x4bb83d
push 0
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebx - 8]
call fcn.004b7db4
push dword [edi + 0x14]
lea eax, [ebp - 0x24]
push dword [edi + 0x10]
push eax
call esi
test eax, eax
je 0x4bb891
mov byte [ebx + 0x329], 0
or dword [ebx + 0x334], 0x40
cmp byte [ebx + 0x328], 0
mov eax, edi
mov ecx, dword [eax + 0x10]
mov dword [ebx + 0x338], ecx
mov eax, dword [eax + 0x14]
lea esi, [ebx + 0x58]
lea edi, [ebx + 0x340]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x33c], eax
movsd dword es:[edi], dword [esi]
jne 0x4bbdab
mov ecx, dword [ebx + 0x44]
test ecx, ecx
je 0x4bbdab
lea eax, [ebx - 8]
neg eax
sbb eax, eax
and eax, ebx
push eax
call fcn.0047ce83
jmp 0x4bbdab
mov edx, dword [edi + 4]
cmp edx, 0xf
jne 0x4bb8e5
mov eax, dword [ebx + 0x334]
test al, 0x40
je 0x4bb8e5
lea esi, [ebx + 0x340]
lea edi, [ebx + 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
and eax, 0xffffffbf
cmp byte [ebx + 0x328], 0
mov dword [ebx + 0x334], eax
movsd dword es:[edi], dword [esi]
jne 0x4bbce5
mov ecx, dword [ebx + 0x44]
test ecx, ecx
je 0x4bbce5
lea eax, [ebx - 8]
neg eax
sbb eax, eax
and eax, ebx
push eax
call fcn.0047ceae
jmp 0x4bbce5
cmp edx, 0xa
jne 0x4bbd37
test byte [ebx + 0x334], 0x40
je 0x4bbd37
mov eax, edi
mov ecx, dword [eax + 0x10]
mov esi, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
sub ecx, dword [ebx + 0x338]
sub edx, dword [ebx + 0x33c]
cmp byte [ebx + 0x329], 0
mov dword [ebx + 0x338], esi
mov esi, dword [eax + 0x14]
mov dword [ebx + 0x33c], esi
lea esi, [ebx + 0x340]
lea edi, [ebp - 0x14]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
je 0x4bbb22
mov edx, dword [ebx + 0x32c]
test edx, edx
jle 0x4bba02
test ecx, ecx
jle 0x4bb960
mov esi, dword [ebx + 0x348]
sub esi, edx
cmp dword [eax + 0x10], esi
jl 0x4bbdab
test ecx, ecx
jns 0x4bb971
mov eax, dword [eax + 0x10]
cmp eax, dword [ebx + 0x348]
jg 0x4bbdab
mov esi, dword [ebp - 0xc]
mov eax, dword [ebx]
add esi, ecx
mov ecx, ebx
mov dword [ebp - 0xc], esi
call dword [eax + 0x104]
mov edi, dword [ebp - 0x14]
mov ecx, esi
sub ecx, edi
cmp ecx, eax
jg 0x4bb9bc
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x104]
mov ecx, dword [ebx + 0x348]
sub ecx, dword [ebx + 0x340]
cmp ecx, eax
jle 0x4bbdab
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x104]
lea esi, [edi + eax]
mov dword [ebp - 0xc], esi
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x10c]
sub esi, edi
cmp esi, eax
jl 0x4bbab5
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x10c]
mov ecx, dword [ebx + 0x348]
sub ecx, dword [ebx + 0x340]
cmp ecx, eax
jge 0x4bbdab
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x10c]
add eax, edi
mov dword [ebp - 0xc], eax
jmp 0x4bbab5
test ecx, ecx
jle 0x4bba17
mov esi, dword [eax + 0x10]
cmp esi, dword [ebx + 0x340]
jl 0x4bbdab
test ecx, ecx
jns 0x4bba2a
mov esi, dword [ebx + 0x340]
sub esi, edx
cmp dword [eax + 0x10], esi
jg 0x4bbdab
mov esi, dword [ebp - 0x14]
mov eax, dword [ebx]
add esi, ecx
mov ecx, ebx
mov dword [ebp - 0x14], esi
call dword [eax + 0x104]
mov edi, dword [ebp - 0xc]
mov ecx, edi
sub ecx, esi
cmp ecx, eax
jg 0x4bba76
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x104]
mov ecx, dword [ebx + 0x348]
sub ecx, dword [ebx + 0x340]
cmp ecx, eax
jle 0x4bbdab
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x104]
mov esi, edi
sub esi, eax
mov dword [ebp - 0x14], esi
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x10c]
mov ecx, edi
sub ecx, esi
cmp ecx, eax
jl 0x4bbab5
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x10c]
mov ecx, dword [ebx + 0x348]
sub ecx, dword [ebx + 0x340]
cmp ecx, eax
jge 0x4bbdab
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x10c]
sub edi, eax
mov dword [ebp - 0x14], edi
push 1
lea eax, [ebp - 0x34]
lea ecx, [ebx - 8]
push eax
call fcn.004b7cd3
push eax
lea ecx, [ebp - 0x24]
call fcn.0047ad50
lea esi, [ebp - 0x14]
lea edi, [ebx + 0x340]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x348]
sub eax, dword [ebx + 0x340]
cmp byte [ebx + 0x328], 0
mov dword [ebx + 0x80], eax
jne 0x4bbcdb
push 1
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebx - 8]
call fcn.004b7cd3
push eax
lea ecx, [ebp - 0x24]
call fcn.0047adc4
push 0
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebx - 8]
call fcn.004b7cd3
jmp 0x4bbd16
mov ecx, dword [ebx + 0x330]
test ecx, ecx
jle 0x4bbbe9
test edx, edx
jle 0x4bbb47
mov esi, dword [ebx + 0x34c]
add esi, ecx
cmp dword [eax + 0x14], esi
jl 0x4bbdab
test edx, edx
jns 0x4bbb58
mov eax, dword [eax + 0x14]
cmp eax, dword [ebx + 0x34c]
jg 0x4bbdab
mov esi, dword [ebp - 8]
mov eax, dword [ebx]
add esi, edx
mov ecx, ebx
mov dword [ebp - 8], esi
call dword [eax + 0x114]
mov edi, dword [ebp - 0x10]
mov ecx, esi
sub ecx, edi
cmp ecx, eax
jg 0x4bbba3
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x114]
mov ecx, dword [ebx + 0x34c]
sub ecx, dword [ebx + 0x344]
cmp ecx, eax
jle 0x4bbdab
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x114]
lea esi, [edi + eax]
mov dword [ebp - 8], esi
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x11c]
sub esi, edi
cmp esi, eax
jl 0x4bbc9c
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x11c]
mov ecx, dword [ebx + 0x34c]
sub ecx, dword [ebx + 0x344]
cmp ecx, eax
jge 0x4bbdab
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x11c]
add eax, edi
mov dword [ebp - 8], eax
jmp 0x4bbc9c
test edx, edx
jle 0x4bbbfe
mov esi, dword [eax + 0x14]
cmp esi, dword [ebx + 0x344]
jl 0x4bbdab
test edx, edx
jns 0x4bbc11
mov esi, dword [ebx + 0x344]
add esi, ecx
cmp dword [eax + 0x14], esi
jg 0x4bbdab
mov esi, dword [ebp - 0x10]
mov eax, dword [ebx]
add esi, edx
mov ecx, ebx
mov dword [ebp - 0x10], esi
call dword [eax + 0x114]
mov edi, dword [ebp - 8]
mov ecx, edi
sub ecx, esi
cmp ecx, eax
jg 0x4bbc5d
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x114]
mov ecx, dword [ebx + 0x34c]
sub ecx, dword [ebx + 0x344]
cmp ecx, eax
jle 0x4bbdab
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x114]
mov esi, edi
sub esi, eax
mov dword [ebp - 0x10], esi
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x11c]
mov ecx, edi
sub ecx, esi
cmp ecx, eax
jl 0x4bbc9c
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x11c]
mov ecx, dword [ebx + 0x34c]
sub ecx, dword [ebx + 0x344]
cmp ecx, eax
jge 0x4bbdab
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x11c]
sub edi, eax
mov dword [ebp - 0x10], edi
push 1
lea eax, [ebp - 0x34]
lea ecx, [ebx - 8]
push eax
call fcn.004b7db4
push eax
lea ecx, [ebp - 0x24]
call fcn.0047ad50
lea esi, [ebp - 0x14]
lea edi, [ebx + 0x340]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x34c]
sub eax, dword [ebx + 0x344]
cmp byte [ebx + 0x328], 0
mov dword [ebx + 0x84], eax
je 0x4bbcf1
lea edi, [ebx + 0x58]
lea esi, [ebp - 0x14]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, ebx
call fcn.00485a05
jmp 0x4bbdab
push 1
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebx - 8]
call fcn.004b7db4
push eax
lea ecx, [ebp - 0x24]
call fcn.0047adc4
push 0
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebx - 8]
call fcn.004b7db4
push eax
lea ecx, [ebp - 0x24]
call fcn.0047adc4
mov ebx, dword [ebx + 0x44]
test ebx, ebx
je 0x4bbdab
lea eax, [ebp - 0x24]
push eax
mov ecx, ebx
call fcn.0047cacf
jmp 0x4bbdab
cmp edx, 0x1d
jne 0x4bbda3
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x188]
test al, al
je 0x4bbda3
push 0
lea eax, [ebp - 0x14]
lea ecx, [ebx - 8]
push eax
call fcn.004b7cd3
push dword [edi + 0x14]
lea eax, [ebp - 0x14]
push dword [edi + 0x10]
push eax
call esi
test eax, eax
je 0x4bbd6f
push 0x7f84
jmp 0x4bbd92
push 0
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebx - 8]
call fcn.004b7db4
push dword [edi + 0x14]
lea eax, [ebp - 0x24]
push dword [edi + 0x10]
push eax
call esi
test eax, eax
je 0x4bbda3
push 0x7f85
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4bbdab
push edi
mov ecx, ebx
call fcn.0048ab07
pop esi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.0044d74d
leave
ret 4