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

Disassembly:
push ebx
push ebp
push esi
mov esi, ecx
mov al, byte [esi + 0x331]
test al, al
push edi
mov ebx, 5
je 0x4bb773
cmp dword [esi + 4], ebx
jne 0x4bb773
mov al, byte [esi + 0x330]
test al, al
jne 0x4bb773
mov eax, dword [esi + 0x20]
xor ebp, ebp
sub eax, ebp
je 0x4bb721
dec eax
je 0x4bb6e4
dec eax
jne 0x4bb763
mov eax, dword [0x5d80d8]
mov ecx, dword [esi + 0x10]
push ebp
push 1
mov edi, 3
push edi
add eax, 0x1660
push eax
call fcn.004b3880
cmp dword [esi + 4], edi
mov dword [esi + 8], ebp
mov byte [esi + 0xc], 0
je 0x4bb763
mov dword [esi + 4], edi
mov ecx, dword [0x5d80d8]
mov eax, dword [ecx + 0x16d8]
jmp 0x4bb75c
mov edx, dword [0x5d80d8]
mov ecx, dword [esi + 0x10]
push ebp
push 1
push 8
add edx, 0xa58
push edx
call fcn.004b3880
mov eax, dword [esi + 4]
mov edi, 3
cmp eax, edi
mov dword [esi + 8], ebp
mov byte [esi + 0xc], 0
je 0x4bb763
mov dword [esi + 4], edi
mov eax, dword [0x5d80d8]
mov eax, dword [eax + 0x16d8]
jmp 0x4bb75c
mov ecx, dword [0x5d80d8]
push ebp
push 1
add ecx, 0x418
push ebx
push ecx
mov ecx, dword [esi + 0x10]
call fcn.004b3880
mov eax, dword [esi + 4]
mov edi, 3
cmp eax, edi
mov dword [esi + 8], ebp
mov byte [esi + 0xc], 0
je 0x4bb763
mov dword [esi + 4], edi
mov edx, dword [0x5d80d8]
mov eax, dword [edx + 0x16d8]
mov byte [eax + 0x114], 0
mov ecx, dword [esi + 0x90]
cmp ecx, ebp
je 0x4bb773
push ebp
call fcn.004dbb90
mov ebp, dword [esp + 0x14]
mov ecx, dword [esi + 0x18]
push ebp
call fcn.00468ee0
mov eax, dword [0x5d80d8]
mov ecx, dword [eax + 0x178c]
mov edx, dword [ecx]
push ebp
call dword [edx + 4]
mov eax, dword [0x5d80d8]
mov ecx, dword [eax + 0x1790]
test byte [ecx + 0xc], 1
je 0x4bb7a8
mov edx, dword [ecx]
push ebp
call dword [edx + 4]
mov al, byte [esi + 0xc]
test al, al
je 0x4bb820
fld dword [esi + 8]
fsub dword [esp + 0x14]
fst dword [esi + 8]
fcomp dword [0x5a1414]
fnstsw ax
test ah, 0x41
jp 0x4bb820
mov eax, dword [esi + 4]
sub eax, 0
je 0x4bb7fb
dec eax
jne 0x4bb820
mov dword [esi + 8], 0
mov byte [esi + 0xc], 0
mov dword [esi + 4], ebx
mov eax, dword [0x5d80d8]
mov eax, dword [eax + 0x16d8]
mov byte [eax + 0x114], 1
mov ecx, dword [esi + 0x10]
call fcn.004b31b0
jmp 0x4bb820
mov dword [esi + 8], 0x3f400000
mov byte [esi + 0xc], 1
mov dword [esi + 4], 1
mov ecx, dword [0x5d80d8]
mov eax, dword [ecx + 0x16d8]
mov byte [eax + 0x114], 0
fld dword [esi + 0x268]
fsub dword [esp + 0x14]
fst dword [esi + 0x268]
fcomp dword [0x5a1414]
fnstsw ax
test ah, 5
jp 0x4bb8b9
mov al, byte [esi + 0x297]
test al, al
je 0x4bb8b9
mov edx, dword [esi + 0x26c]
cmp edx, dword [esi + 0x270]
mov dword [esi + 0x268], 0x3fc00000
jge 0x4bb8b9
mov ecx, dword [0x5d80d8]
call fcn.004cf650
mov ecx, dword [esi + 0x26c]
inc ecx
mov edi, eax
mov dword [esi + 0x26c], ecx
push 1
mov ecx, edi
call fcn.004dbb30
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x64]
mov edx, dword [edi + 0x10]
lea ecx, [esi + 0x288]
mov eax, dword [ecx]
add edx, 0x40
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov ecx, dword [ecx + 8]
mov dword [edx + 8], ecx
push 0
mov ecx, edi
call fcn.004db150
mov eax, dword [esi + 0x14]
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 0x18]
mov eax, dword [esi + 0x24]
xor edi, edi
test eax, eax
jle 0x4bb8da
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + edi*4]
test ecx, ecx
je 0x4bb8d2
mov edx, dword [ecx]
push ebp
call dword [edx + 8]
mov eax, dword [esi + 0x24]
inc edi
cmp edi, eax
jl 0x4bb8c2
mov eax, dword [esi + 0x2c]
xor edi, edi
test eax, eax
jle 0x4bb8fb
mov eax, dword [esi + 0x44]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x4bb8f3
mov edx, dword [ecx]
push ebp
call dword [edx + 8]
mov eax, dword [esi + 0x2c]
inc edi
cmp edi, eax
jl 0x4bb8e3
mov eax, dword [esi + 0x25c]
xor edi, edi
test eax, eax
jle 0x4bb92e
jmp 0x4bb910
mov eax, dword [esi + 0x260]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x4bb923
mov edx, dword [ecx]
push ebp
call dword [edx + 8]
mov eax, dword [esi + 0x25c]
inc edi
cmp edi, eax
jl 0x4bb910
mov eax, dword [esi + 0x30]
xor edi, edi
test eax, eax
jle 0x4bb94f
mov eax, dword [esi + 0x48]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x4bb947
mov edx, dword [ecx]
push ebp
call dword [edx + 4]
mov eax, dword [esi + 0x30]
inc edi
cmp edi, eax
jl 0x4bb937
mov eax, dword [esi + 0x8c]
xor edi, edi
test eax, eax
jle 0x4bb97e
jmp 0x4bb960
mov eax, dword [esi + 0x88]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x4bb973
push ebp
call fcn.004be3f0
mov eax, dword [esi + 0x8c]
inc edi
cmp edi, eax
jl 0x4bb960
mov eax, dword [esi + 0x9c]
xor edi, edi
test eax, eax
jle 0x4bb9ae
lea ebx, [ebx]
mov ecx, dword [esi + 0xa0]
mov ecx, dword [ecx + edi*4]
test ecx, ecx
je 0x4bb9a3
mov edx, dword [ecx]
push ebp
call dword [edx + 0xc]
mov eax, dword [esi + 0x9c]
inc edi
cmp edi, eax
jl 0x4bb990
mov eax, dword [esi + 0x94]
xor edi, edi
test eax, eax
jle 0x4bb9de
lea ebx, [ebx]
mov eax, dword [esi + 0x98]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x4bb9d3
mov edx, dword [ecx]
push ebp
call dword [edx + 4]
mov eax, dword [esi + 0x94]
inc edi
cmp edi, eax
jl 0x4bb9c0
mov ebp, dword [0x5d80d8]
mov eax, dword [ebp + 0x17d4]
mov edx, dword [ebp + 0x17d0]
add ebp, 0x17cc
sub eax, edx
xor ebx, ebx
test eax, 0xfffffffc
jle 0x4bba5a
push ebx
mov ecx, ebp
call fcn.00501360
mov edi, eax
test edi, edi
je 0x4bba4c
test byte [edi + 0xc], 1
jne 0x4bba20
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x60]
test al, al
je 0x4bba4c
mov ecx, dword [esp + 0x14]
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 4]
mov eax, dword [edi + 0x18]
mov ecx, dword [esi + 0x14]
push eax
call fcn.004f6ab0
test al, al
jne 0x4bba4c
mov edx, dword [edi]
push esi
mov ecx, edi
call dword [edx + 0x68]
dec dword [esi + 0x26c]
jmp 0x4bba4d
inc ebx
mov eax, dword [ebp + 8]
sub eax, dword [ebp + 4]
sar eax, 2
cmp ebx, eax
jl 0x4bba01
mov eax, dword [esi + 0x38]
xor edi, edi
test eax, eax
jle 0x4bba7f
mov ecx, dword [esi + 0x50]
mov ecx, dword [ecx + edi*4]
test ecx, ecx
je 0x4bba77
mov eax, dword [esp + 0x14]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
mov eax, dword [esi + 0x38]
inc edi
cmp edi, eax
jl 0x4bba63
mov ecx, dword [esi + 0x70]
test ecx, ecx
je 0x4bba9b
fld dword [esp + 0x14]
push 0
fmul dword [esi + 0x280]
push ecx
fstp dword [esp]
call fcn.004dc170
mov ecx, dword [esi + 0x74]
test ecx, ecx
je 0x4bbabe
fld dword [esp + 0x14]
xor edx, edx
mov dl, byte [esi + 0x284]
fmul dword [esi + 0x280]
push edx
push ecx
fstp dword [esp]
call fcn.004dc170
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x4bbae1
fld dword [esp + 0x14]
xor eax, eax
mov al, byte [esi + 0x285]
fmul dword [esi + 0x280]
push eax
push ecx
fstp dword [esp]
call fcn.004dc170
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x4bbb07
fld dword [esp + 0x14]
xor edx, edx
mov dl, byte [esi + 0xa4]
fmul dword [esi + 0x280]
push edx
push ecx
fstp dword [esp]
call fcn.004dc170
mov ecx, dword [esi + 0xac]
test ecx, ecx
je 0x4bbb2d
fld dword [esp + 0x14]
xor eax, eax
mov al, byte [esi + 0xa5]
fmul dword [esi + 0x280]
push eax
push ecx
fstp dword [esp]
call fcn.004dc170
mov ecx, dword [esi + 0xb0]
test ecx, ecx
je 0x4bbb53
fld dword [esp + 0x14]
xor edx, edx
mov dl, byte [esi + 0xa6]
fmul dword [esi + 0x280]
push edx
push ecx
fstp dword [esp]
call fcn.004dc170
mov ecx, dword [esi + 0xb4]
test ecx, ecx
je 0x4bbb79
fld dword [esp + 0x14]
xor eax, eax
mov al, byte [esi + 0xa7]
fmul dword [esi + 0x280]
push eax
push ecx
fstp dword [esp]
call fcn.004dc170
mov edi, dword [esp + 0x14]
push edi
mov ecx, esi
call fcn.004b9fa0
push edi
mov ecx, esi
call fcn.004ba090
mov ecx, dword [esi + 0x264]
test ecx, ecx
je 0x4bbbaa
fld dword [esp + 0x14]
mov edx, dword [ecx]
fmul dword [esi + 0x280]
push ecx
fstp dword [esp]
call dword [edx + 8]
cmp dword [esi + 4], 4
jne 0x4bbbdd
mov eax, dword [0x5d8100]
mov ecx, dword [eax + 8]
mov edx, dword [ecx]
push 0
call dword [edx + 0x14]
test al, al
jne 0x4bbbd6
mov eax, dword [0x5d8100]
mov ecx, dword [eax + 8]
mov edx, dword [ecx]
push 0
call dword [edx + 4]
test al, al
je 0x4bbbdd
mov ecx, esi
call fcn.004bb110
mov al, byte [esi + 0xd]
test al, al
je 0x4bbbeb
mov ecx, esi
call fcn.004bb110
mov ecx, dword [esi + 0x33c]
test ecx, ecx
je 0x4bbbfb
mov eax, dword [ecx]
push edi
call dword [eax + 4]
pop edi
pop esi
pop ebp
pop ebx
ret 4