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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x12
push 0
push 0
dec ecx
jne 0x4bb318
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x4bb9b7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebx + 0x6c]
call fcn.004ba184
cmp byte [ebx + 0x60], 0
jne 0x4bb360
mov eax, dword [ebx + 0x6c]
call fcn.0041c848
test eax, eax
jne 0x4bb357
mov dl, 2
mov eax, ebx
call fcn.004bc53c
jmp 0x4bb360
mov dl, 1
mov eax, ebx
call fcn.004bc53c
mov eax, dword [ebx + 0x6c]
call fcn.0041c848
mov esi, eax
sub esi, 1
jno 0x4bb374
call fcn.00404728
test esi, esi
jl 0x4bb446
inc esi
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x6c]
call fcn.004ba29c
mov edx, dword [eax + 0x10]
lea eax, [ebp - 8]
call fcn.004057f0
cmp dword [ebp - 8], 0
je 0x4bb43e
cmp byte [ebx + 0x60], 1
jne 0x4bb402
push 0
mov eax, 0x4bb9d0
mov dword [ebp - 0x28], eax
mov eax, 0x4bb9e0
mov dword [ebp - 0x24], eax
mov eax, 0x4bb9f0
mov dword [ebp - 0x20], eax
mov eax, 0x4bba00
mov dword [ebp - 0x1c], eax
mov eax, 0x4bba10
mov dword [ebp - 0x18], eax
mov eax, 0x4bba2c
mov dword [ebp - 0x14], eax
lea edx, [ebp - 0x28]
mov ecx, 5
mov eax, dword [ebp - 8]
call fcn.0048b068
inc eax
jne 0x4bb43e
mov edx, edi
mov eax, dword [ebx + 0x6c]
call fcn.004ba29c
add eax, 0x10
mov edx, 0x4bba00
call fcn.004057ac
jmp 0x4bb43e
push 0
mov eax, 0x4bba40
mov dword [ebp - 0x30], eax
mov eax, 0x4bba4c
mov dword [ebp - 0x2c], eax
lea edx, [ebp - 0x30]
mov ecx, 1
mov eax, dword [ebp - 8]
call fcn.0048b068
inc eax
jne 0x4bb43e
mov edx, edi
mov eax, dword [ebx + 0x6c]
call fcn.004ba29c
add eax, 0x10
mov edx, 0x4bba40
call fcn.004057ac
inc edi
dec esi
jne 0x4bb37f
mov eax, dword [ebx + 0x6c]
call fcn.0041c848
test eax, eax
jle 0x4bb48d
cmp dword [ebx + 0x48], 0
je 0x4bb48d
push 0
mov eax, 0x4bb9d0
mov dword [ebp - 0x3c], eax
mov eax, 0x4bb9e0
mov dword [ebp - 0x38], eax
mov eax, 0x4bb9f0
mov dword [ebp - 0x34], eax
lea edx, [ebp - 0x3c]
mov ecx, 2
mov eax, dword [ebx + 0x48]
call fcn.0048b068
inc eax
jne 0x4bb48d
lea eax, [ebx + 0x48]
call fcn.00405758
cmp byte [ebx + 0x60], 1
jne 0x4bb522
mov eax, dword [ebx + 0x70]
call fcn.004bac60
lea edx, [ebp - 0xc]
mov eax, dword [0x4b7840]
call fcn.004b7a1c
or ecx, 0xffffffff
mov edx, dword [ebp - 0xc]
mov eax, dword [ebx + 0x70]
call fcn.004baf00
mov eax, dword [ebx + 0x44]
call fcn.00405a28
test eax, eax
jne 0x4bb515
mov eax, dword [ebx + 0x6c]
cmp dword [eax + 0x2c], 1
jle 0x4bb4f3
cmp dword [eax + 0x20], 0
jle 0x4bb4e4
lea eax, [ebx + 0x44]
mov edx, 0x4bba58
call fcn.004057ac
jmp 0x4bb515
lea eax, [ebx + 0x44]
mov edx, 0x4bba70
call fcn.004057ac
jmp 0x4bb515
cmp dword [eax + 0x20], 0
jle 0x4bb508
lea eax, [ebx + 0x44]
mov edx, 0x4bba58
call fcn.004057ac
jmp 0x4bb515
lea eax, [ebx + 0x44]
mov edx, 0x4bba90
call fcn.004057ac
mov eax, dword [ebx + 0x6c]
mov eax, dword [eax + 0x24]
mov edx, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
lea ecx, [ebp - 4]
lea edx, [ebp - 0xd]
mov eax, ebx
call fcn.004bc594
mov edx, dword [ebx + 0x68]
mov eax, dword [ebx + 0xc0]
mov ecx, dword [eax]
call dword [ecx + 8]
cmp byte [ebx + 0x60], 1
jne 0x4bb559
mov eax, dword [ebx + 0x6c]
call fcn.0041c848
dec eax
jne 0x4bb559
mov eax, ebx
call fcn.004bb25c
test al, al
jne 0x4bb55d
xor eax, eax
jmp 0x4bb55f
mov al, 1
mov byte [ebx + 0xc6], al
mov esi, dword [ebx + 0xc0]
push 1
push 0
push 0
lea eax, [ebp - 0x40]
push eax
mov ecx, dword [ebp - 4]
movzx edx, byte [ebp - 0xd]
mov eax, dword [ebx + 0x64]
call fcn.004b1664
mov ecx, dword [ebp - 0x40]
mov edx, 0x4bbaa4
mov eax, esi
call fcn.004ae6dc
mov eax, dword [ebp - 4]
push eax
push 0
push 0
lea eax, [ebp - 0x44]
push eax
movzx ecx, byte [ebp - 0xd]
xor edx, edx
mov eax, dword [ebx + 0x90]
call fcn.004b1de0
mov ecx, dword [ebp - 0x44]
mov edx, 0x4bbab4
mov eax, esi
call fcn.004ae6dc
push 0
push 0
push 0
lea eax, [ebp - 0x48]
push eax
mov ecx, dword [ebp - 4]
movzx edx, byte [ebp - 0xd]
mov eax, dword [ebx + 0x98]
call fcn.004b1664
mov ecx, dword [ebp - 0x48]
mov edx, 0x4bbac4
mov eax, esi
call fcn.004ae6dc
push 0
push 0
push 0
lea eax, [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 4]
movzx edx, byte [ebp - 0xd]
mov eax, dword [ebx + 0x40]
call fcn.004b1664
mov ecx, dword [ebp - 0x4c]
mov edx, 0x4bbad0
mov eax, esi
call fcn.004ae6dc
cmp byte [ebx + 0xc5], 0
jne 0x4bb62b
xor ecx, ecx
mov edx, 0x4bbadc
mov eax, esi
call fcn.004ae6dc
jmp 0x4bb653
push 0
push 0
push 0
lea eax, [ebp - 0x50]
push eax
mov ecx, dword [ebp - 4]
movzx edx, byte [ebp - 0xd]
mov eax, dword [ebx + 0x34]
call fcn.004b1664
mov ecx, dword [ebp - 0x50]
mov edx, 0x4bbadc
mov eax, esi
call fcn.004ae6dc
lea edx, [ebp - 0x54]
mov eax, dword [ebx + 0x78]
call fcn.0041d120
mov ecx, dword [ebp - 0x54]
mov edx, 0x4bbae8
mov eax, esi
call fcn.004ae6dc
cmp byte [ebx + 0x60], 1
jne 0x4bb788
cmp byte [ebx + 0xc6], 0
je 0x4bb6c0
mov ecx, 0x4bbafc
mov edx, 0x4bbb08
mov eax, esi
call fcn.004ae6dc
xor ecx, ecx
mov edx, 0x4bbb20
mov eax, esi
call fcn.004ae6dc
xor ecx, ecx
mov edx, 0x4bbb38
mov eax, esi
call fcn.004ae6dc
xor ecx, ecx
mov edx, 0x4bbb5c
mov eax, esi
call fcn.004ae6dc
jmp 0x4bb7a6
mov ecx, dword [ebx + 0x44]
mov edx, 0x4bbb20
mov eax, esi
call fcn.004ae6dc
cmp dword [ebx + 0x3c], 0
jbe 0x4bb71f
lea ecx, [ebp - 0x5c]
mov edx, 0x4bbb20
mov eax, esi
call fcn.004ae4c8
push dword [ebp - 0x5c]
push 0x4bbb78
push 0x4bbb84
push 0x4bbb90
push 0x4bbb9c
push dword [ebx + 0x3c]
push 0x4bbbb0
lea eax, [ebp - 0x58]
mov edx, 7
call fcn.00405aec
mov ecx, dword [ebp - 0x58]
mov edx, 0x4bbb20
mov eax, esi
call fcn.004ae6dc
mov eax, dword [ebx + 0x6c]
call fcn.0041c848
test eax, eax
jle 0x4bb766
lea ecx, [ebp - 0x64]
mov edx, 0x4bbb20
mov eax, esi
call fcn.004ae4c8
push dword [ebp - 0x64]
push 0x4bbbbc
push dword [ebp - 0xc]
push 0x4bbbb0
lea eax, [ebp - 0x60]
mov edx, 4
call fcn.00405aec
mov ecx, dword [ebp - 0x60]
mov edx, 0x4bbb20
mov eax, esi
call fcn.004ae6dc
mov ecx, 0x4bbafc
mov edx, 0x4bbb08
mov eax, esi
call fcn.004ae6dc
mov ecx, dword [ebx + 0x48]
mov edx, 0x4bbb38
mov eax, esi
call fcn.004ae6dc
jmp 0x4bb7a6
mov ecx, dword [ebx + 0x48]
mov edx, 0x4bbb38
mov eax, esi
call fcn.004ae6dc
mov ecx, dword [ebx + 0x44]
mov edx, 0x4bbb20
mov eax, esi
call fcn.004ae6dc
lea edx, [ebp - 0x68]
mov eax, dword [ebx + 0xa8]
call fcn.004aefb4
mov ecx, dword [ebp - 0x68]
mov edx, 0x4bbbd4
mov eax, esi
call fcn.004ae6dc
push 0
push 0
push 0
lea eax, [ebp - 0x6c]
push eax
mov ecx, dword [ebp - 4]
movzx edx, byte [ebp - 0xd]
mov eax, dword [ebx + 0xa4]
call fcn.004b1664
mov ecx, dword [ebp - 0x6c]
mov edx, 0x4bbbe4
mov eax, esi
call fcn.004ae6dc
mov eax, dword [ebp - 4]
push eax
push 0
push 0
lea eax, [ebp - 0x70]
push eax
movzx ecx, byte [ebp - 0xd]
xor edx, edx
mov eax, dword [ebx + 0x88]
call fcn.004b1de0
mov ecx, dword [ebp - 0x70]
mov edx, 0x4bbbf8
mov eax, esi
call fcn.004ae6dc
push 0
push 0
push 0
lea eax, [ebp - 0x74]
push eax
mov ecx, dword [ebp - 4]
movzx edx, byte [ebp - 0xd]
mov eax, dword [ebx + 0x94]
call fcn.004b0cc8
mov ecx, dword [ebp - 0x74]
mov edx, 0x4bbc10
mov eax, esi
call fcn.004ae6dc
mov ecx, dword [ebx + 0x9c]
mov edx, 0x4bbc34
mov eax, esi
call fcn.004ae6dc
mov eax, ebx
call fcn.004bc4d4
test al, al
je 0x4bb889
call fcn.0040cb70
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x78]
xor eax, eax
call fcn.0048cc80
mov ecx, dword [ebp - 0x78]
mov edx, 0x4bbc48
mov eax, esi
call fcn.004ae6dc
jmp 0x4bb8a8
push dword [ebx + 0x54]
push dword [ebx + 0x50]
lea edx, [ebp - 0x7c]
xor eax, eax
call fcn.0048cc80
mov ecx, dword [ebp - 0x7c]
mov edx, 0x4bbc48
mov eax, esi
call fcn.004ae6dc
cmp byte [ebx + 0x8c], 2
je 0x4bb8db
lea edx, [ebp - 0x80]
movzx eax, byte [ebx + 0x8c]
add eax, 1
jno 0x4bb8c5
call fcn.00404728
call fcn.0040a2e8
mov ecx, dword [ebp - 0x80]
mov edx, 0x4bbc58
mov eax, esi
call fcn.004ae6dc
jmp 0x4bb900
mov edx, 0x4bbc58
mov eax, esi
call fcn.004ae64c
test eax, eax
jl 0x4bb900
mov edx, 0x4bbc58
mov eax, esi
call fcn.004ae64c
mov edx, eax
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x4bb916
mov edx, dword [ebx + 0x5c]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x40]
lea edx, [ebp - 0x84]
mov eax, ebx
call fcn.004bc634
cmp dword [ebp - 0x84], 0
jne 0x4bb96d
lea ecx, [ebp - 0x88]
mov edx, 0x4bbc6c
mov eax, esi
call fcn.004ae4c8
cmp dword [ebp - 0x88], 0
je 0x4bb98c
lea ecx, [ebp - 0x8c]
mov edx, 0x4bbc6c
mov eax, esi
call fcn.004ae4c8
mov ecx, dword [ebp - 0x8c]
mov edx, 0x4bbc80
mov eax, esi
call fcn.004ae6dc
jmp 0x4bb98c
lea edx, [ebp - 0x90]
mov eax, ebx
call fcn.004bc634
mov ecx, dword [ebp - 0x90]
mov edx, 0x4bbc80
mov eax, esi
call fcn.004ae6dc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bb9be
lea eax, [ebp - 0x90]
mov edx, 0x15
call fcn.0040577c
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.0040577c
ret