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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xc
push 0
push 0
dec ecx
jne 0x4b89b0
push ecx
push ebx
push esi
push edi
mov edi, eax
xor eax, eax
push ebp
push 0x4b9037
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [edi + 0x6c]
call fcn.004b76f0
cmp byte [edi + 0x60], 0
jne 0x4b89f9
mov eax, dword [edi + 0x6c]
call fcn.0041ba28
test eax, eax
jne 0x4b89f0
mov dl, 2
mov eax, edi
call fcn.004b9bd4
jmp 0x4b89f9
mov dl, 1
mov eax, edi
call fcn.004b9bd4
mov eax, dword [edi + 0x6c]
call fcn.0041ba28
mov esi, eax
sub esi, 1
jno 0x4b8a0d
call fcn.00403a64
test esi, esi
jl 0x4b8b0d
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, dword [edi + 0x6c]
call fcn.004b7808
mov edx, dword [eax + 0x18]
lea eax, [ebp - 8]
call fcn.00404b54
cmp dword [ebp - 8], 0
je 0x4b8b05
cmp byte [edi + 0x60], 1
jne 0x4b8acc
mov edx, 0x4b9050
mov eax, dword [ebp - 8]
call fcn.0048ea3c
test al, al
jne 0x4b8b05
mov edx, 0x4b9060
mov eax, dword [ebp - 8]
call fcn.0048ea3c
test al, al
jne 0x4b8b05
mov edx, 0x4b9070
mov eax, dword [ebp - 8]
call fcn.0048ea3c
test al, al
jne 0x4b8b05
mov edx, 0x4b9080
mov eax, dword [ebp - 8]
call fcn.0048ea3c
test al, al
jne 0x4b8b05
mov edx, 0x4b9090
mov eax, dword [ebp - 8]
call fcn.0048ea3c
test al, al
jne 0x4b8b05
mov edx, 0x4b90ac
mov eax, dword [ebp - 8]
call fcn.0048ea3c
test al, al
jne 0x4b8b05
mov edx, ebx
mov eax, dword [edi + 0x6c]
call fcn.004b7808
add eax, 0x18
mov edx, 0x4b9080
call fcn.00404b10
jmp 0x4b8b05
mov edx, 0x4b90c0
mov eax, dword [ebp - 8]
call fcn.0048ea3c
test al, al
jne 0x4b8b05
mov edx, 0x4b90cc
mov eax, dword [ebp - 8]
call fcn.0048ea3c
test al, al
jne 0x4b8b05
mov edx, ebx
mov eax, dword [edi + 0x6c]
call fcn.004b7808
add eax, 0x18
mov edx, 0x4b90c0
call fcn.00404b10
inc ebx
dec esi
jne 0x4b8a18
mov eax, dword [edi + 0x6c]
call fcn.0041ba28
test eax, eax
jle 0x4b8b5a
cmp dword [edi + 0x48], 0
je 0x4b8b5a
mov edx, 0x4b9050
mov eax, dword [edi + 0x48]
call fcn.0048ea3c
test al, al
jne 0x4b8b5a
mov edx, 0x4b9070
mov eax, dword [edi + 0x48]
call fcn.0048ea3c
test al, al
jne 0x4b8b5a
mov edx, 0x4b9060
mov eax, dword [edi + 0x48]
call fcn.0048ea3c
test al, al
jne 0x4b8b5a
lea eax, [edi + 0x48]
call fcn.00404abc
cmp byte [edi + 0x60], 1
jne 0x4b8bd7
lea edx, [ebp - 0xc]
mov eax, dword [0x4c2efc]
mov eax, dword [eax]
call fcn.004b1f28
mov eax, dword [edi + 0x44]
call fcn.00404d7c
test eax, eax
jne 0x4b8bca
mov eax, dword [edi + 0x6c]
cmp dword [eax + 0x2c], 1
jle 0x4b8ba8
cmp dword [eax + 0x20], 0
jle 0x4b8b99
lea eax, [edi + 0x44]
mov edx, 0x4b90d8
call fcn.00404b10
jmp 0x4b8bca
lea eax, [edi + 0x44]
mov edx, 0x4b90f0
call fcn.00404b10
jmp 0x4b8bca
cmp dword [eax + 0x20], 0
jle 0x4b8bbd
lea eax, [edi + 0x44]
mov edx, 0x4b90d8
call fcn.00404b10
jmp 0x4b8bca
lea eax, [edi + 0x44]
mov edx, 0x4b9110
call fcn.00404b10
mov eax, dword [edi + 0x6c]
mov eax, dword [eax + 0x24]
mov edx, edi
mov ecx, dword [eax]
call dword [ecx + 4]
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 0xd]
lea edx, [ebp - 0xe]
mov eax, edi
call fcn.004b9c38
mov eax, dword [edi + 0xc0]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [edi + 0x68]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x4b8c0d
mov edx, dword [edi + 0x68]
mov eax, dword [edi + 0xc0]
mov ecx, dword [eax]
call dword [ecx + 8]
mov esi, dword [edi + 0xc0]
mov eax, dword [ebp - 4]
push eax
push 1
lea eax, [ebp - 0x14]
push eax
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp - 0xd]
mov eax, dword [edi + 0x64]
call fcn.004a0928
mov ecx, dword [ebp - 0x14]
mov edx, 0x4b9124
mov eax, esi
call fcn.0049ded0
movzx eax, byte [ebp - 0xe]
push eax
mov eax, dword [ebp - 4]
push eax
lea eax, [ebp - 0x18]
push eax
movzx ecx, byte [ebp - 0xd]
xor edx, edx
mov eax, dword [edi + 0x90]
call fcn.004a132c
mov ecx, dword [ebp - 0x18]
mov edx, 0x4b9134
mov eax, esi
call fcn.0049ded0
mov eax, dword [ebp - 4]
push eax
push 0
lea eax, [ebp - 0x1c]
push eax
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp - 0xd]
mov eax, dword [edi + 0x98]
call fcn.004a0928
mov ecx, dword [ebp - 0x1c]
mov edx, 0x4b9144
mov eax, esi
call fcn.0049ded0
mov eax, dword [ebp - 4]
push eax
push 0
lea eax, [ebp - 0x20]
push eax
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp - 0xd]
mov eax, dword [edi + 0x40]
call fcn.004a0928
mov ecx, dword [ebp - 0x20]
mov edx, 0x4b9150
mov eax, esi
call fcn.0049ded0
cmp byte [edi + 0xc5], 0
jne 0x4b8cd7
xor ecx, ecx
mov edx, 0x4b915c
mov eax, esi
call fcn.0049ded0
jmp 0x4b8d00
mov eax, dword [ebp - 4]
push eax
push 0
lea eax, [ebp - 0x24]
push eax
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp - 0xd]
mov eax, dword [edi + 0x34]
call fcn.004a0928
mov ecx, dword [ebp - 0x24]
mov edx, 0x4b915c
mov eax, esi
call fcn.0049ded0
lea edx, [ebp - 0x28]
mov eax, dword [edi + 0x78]
call fcn.0041c328
mov ecx, dword [ebp - 0x28]
mov edx, 0x4b9168
mov eax, esi
call fcn.0049ded0
cmp byte [edi + 0x60], 1
jne 0x4b8e0d
mov eax, edi
call fcn.004b896c
cmp al, 1
jne 0x4b8d45
mov ecx, 0x4b917c
mov edx, 0x4b9188
mov eax, esi
call fcn.0049ded0
jmp 0x4b8e2b
mov ecx, dword [edi + 0x44]
mov edx, 0x4b91a0
mov eax, esi
call fcn.0049ded0
cmp dword [edi + 0x3c], 0
jbe 0x4b8da4
lea ecx, [ebp - 0x30]
mov edx, 0x4b91a0
mov eax, esi
call fcn.0049dcb0
push dword [ebp - 0x30]
push 0x4b91b8
push 0x4b91c4
push 0x4b91d0
push 0x4b91dc
push dword [edi + 0x3c]
push 0x4b91f0
lea eax, [ebp - 0x2c]
mov edx, 7
call fcn.00404e50
mov ecx, dword [ebp - 0x2c]
mov edx, 0x4b91a0
mov eax, esi
call fcn.0049ded0
mov eax, dword [edi + 0x6c]
call fcn.0041ba28
test eax, eax
jle 0x4b8deb
lea ecx, [ebp - 0x38]
mov edx, 0x4b91a0
mov eax, esi
call fcn.0049dcb0
push dword [ebp - 0x38]
push 0x4b91fc
push dword [ebp - 0xc]
push 0x4b91f0
lea eax, [ebp - 0x34]
mov edx, 4
call fcn.00404e50
mov ecx, dword [ebp - 0x34]
mov edx, 0x4b91a0
mov eax, esi
call fcn.0049ded0
mov ecx, 0x4b917c
mov edx, 0x4b9188
mov eax, esi
call fcn.0049ded0
mov ecx, dword [edi + 0x48]
mov edx, 0x4b9214
mov eax, esi
call fcn.0049ded0
jmp 0x4b8e2b
mov ecx, dword [edi + 0x48]
mov edx, 0x4b9214
mov eax, esi
call fcn.0049ded0
mov ecx, dword [edi + 0x44]
mov edx, 0x4b91a0
mov eax, esi
call fcn.0049ded0
lea edx, [ebp - 0x3c]
mov eax, dword [edi + 0xa8]
call fcn.0049ea2c
mov ecx, dword [ebp - 0x3c]
mov edx, 0x4b9238
mov eax, esi
call fcn.0049ded0
mov eax, dword [ebp - 4]
push eax
push 0
lea eax, [ebp - 0x40]
push eax
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp - 0xd]
mov eax, dword [edi + 0xa4]
call fcn.004a0928
mov ecx, dword [ebp - 0x40]
mov edx, 0x4b9248
mov eax, esi
call fcn.0049ded0
movzx eax, byte [ebp - 0xe]
push eax
mov eax, dword [ebp - 4]
push eax
lea eax, [ebp - 0x44]
push eax
movzx ecx, byte [ebp - 0xd]
xor edx, edx
mov eax, dword [edi + 0x88]
call fcn.004a132c
mov ecx, dword [ebp - 0x44]
mov edx, 0x4b925c
mov eax, esi
call fcn.0049ded0
mov eax, dword [ebp - 4]
push eax
push 0
lea eax, [ebp - 0x48]
push eax
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp - 0xd]
mov eax, dword [edi + 0x94]
call fcn.0049fb14
mov ecx, dword [ebp - 0x48]
mov edx, 0x4b9274
mov eax, esi
call fcn.0049ded0
mov ecx, dword [edi + 0x9c]
mov edx, 0x4b9298
mov eax, esi
call fcn.0049ded0
mov eax, edi
call fcn.004b9b68
test al, al
je 0x4b8f1b
mov eax, dword [0x48cedc]
call fcn.0048c1fc
add esp, 0xfffffff8
fstp qword [esp]
wait
lea ecx, [ebp - 0x4c]
xor edx, edx
mov eax, dword [0x48cedc]
call fcn.0048c4bc
mov ecx, dword [ebp - 0x4c]
mov edx, 0x4b92ac
mov eax, esi
call fcn.0049ded0
jmp 0x4b8f3f
push dword [edi + 0x54]
push dword [edi + 0x50]
lea ecx, [ebp - 0x50]
xor edx, edx
mov eax, dword [0x48cedc]
call fcn.0048c4bc
mov ecx, dword [ebp - 0x50]
mov edx, 0x4b92ac
mov eax, esi
call fcn.0049ded0
movzx ebx, byte [edi + 0x8c]
cmp bl, 2
je 0x4b8f76
lea ecx, [ebp - 0x54]
movzx edx, bl
add edx, 1
jno 0x4b8f5b
call fcn.00403a64
mov eax, dword [0x48cedc]
call fcn.0048c0c0
mov ecx, dword [ebp - 0x54]
mov edx, 0x4b92bc
mov eax, esi
call fcn.0049ded0
jmp 0x4b8f9b
mov edx, 0x4b92bc
mov eax, esi
call fcn.0049de40
test eax, eax
jl 0x4b8f9b
mov edx, 0x4b92bc
mov eax, esi
call fcn.0049de40
mov edx, eax
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [edi + 0x5c]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x4b8fb1
mov edx, dword [edi + 0x5c]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x40]
lea edx, [ebp - 0x58]
mov eax, edi
call fcn.004b9cf4
cmp dword [ebp - 0x58], 0
jne 0x4b8ff6
lea ecx, [ebp - 0x5c]
mov edx, 0x4b92d0
mov eax, esi
call fcn.0049dcb0
cmp dword [ebp - 0x5c], 0
je 0x4b900f
lea ecx, [ebp - 0x60]
mov edx, 0x4b92d0
mov eax, esi
call fcn.0049dcb0
mov ecx, dword [ebp - 0x60]
mov edx, 0x4b92e4
mov eax, esi
call fcn.0049ded0
jmp 0x4b900f
lea edx, [ebp - 0x64]
mov eax, edi
call fcn.004b9cf4
mov ecx, dword [ebp - 0x64]
mov edx, 0x4b92e4
mov eax, esi
call fcn.0049ded0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b903e
lea eax, [ebp - 0x64]
mov edx, 0x15
call fcn.00404ae0
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00404ae0
ret