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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x18
test dword [ebp + 8], 0xffffff3c
push ebx
push esi
push edi
mov edi, eax
mov ebx, ecx
je 0x4bf076
mov eax, 0x8876086c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x4bf068
mov esi, ebx
mov dword [eax], 0
call fcn.004befb0
mov ecx, dword [ebp + 8]
xor eax, eax
lea edx, [ebx + 0x74]
lea esi, [ebx + 0x78]
mov dword [ebx + 4], edi
mov dword [ebx + 8], eax
mov dword [ebx + 0x38], eax
mov dword [ebx], edi
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x60], eax
mov dword [ebx + 0x64], eax
mov dword [ebx + 0x68], eax
mov dword [ebx + 0x6c], eax
mov dword [ebx + 0x70], eax
mov dword [ebx + 0x54], eax
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x5c], eax
mov dword [ebx + 0x44], ecx
mov dword [edx], eax
mov dword [esi], eax
mov dword [ebx + 0x40], 0xffffffff
mov dword [ebx + 0x7c], eax
mov ecx, dword [edi + 0x280]
cmp dword [ecx + 0x20], eax
mov dword [ebp - 4], edx
mov dword [ebp - 8], esi
jne 0x4bf0e4
mov eax, edi
call fcn.004c61d0
mov esi, dword [ebx + 4]
push 0xc
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x4bf17c
mov dword [eax], 2
mov dword [eax + 4], 0
mov dword [eax + 8], 1
mov edx, dword [esi + 0x74]
mov dword [eax + 4], edx
mov dword [esi + 0x74], eax
lea eax, [ebp - 0xc]
mov dword [esi + 0x2b0], 2
call fcn.004bf6b0
cmp dword [ebx + 0x10], 9
lea edi, [ebx + 0x10]
jne 0x4bf150
mov ecx, dword [ebx + 0x18]
lea eax, [ebp - 0x18]
push eax
push 1
push ecx
call fcn.00469110
test eax, eax
jl 0x4bf150
mov edx, dword [ebp - 0x14]
mov dword [edi], 0
mov dword [ebx + 0x18], edx
cmp dword [edi], 0
je 0x4bf18a
mov eax, dword [ebx]
push 0x45bde4
push 0x7d1
push edi
push eax
call fcn.004c2c30
add esp, 0x10
mov esi, 0x88760b59
mov dword [ebx + 0x54], 1
jmp 0x4bf564
mov eax, 0x8007000e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [ebx + 0x18], 0xfffe0100
jne 0x4bf1af
mov ecx, dword [ebx]
push 0x45bdfc
push 0x7df
push edi
call fcn.004c2e40
add esp, 0xc
mov dword [ebx + 0x18], 0xfffe0101
cmp dword [ebx + 0x18], 0xffff0100
jne 0x4bf1d4
mov ecx, dword [ebx]
push 0x45be28
push 0x7df
push edi
call fcn.004c2e40
add esp, 0xc
mov dword [ebx + 0x18], 0xffff0101
cmp dword [ebx + 0x18], 0xffff0202
jne 0x4bf1e4
mov dword [ebx + 0x18], 0xffff0201
mov al, byte [ebp + 8]
test al, 0x40
je 0x4bf1fc
mov ecx, dword [ebx + 0x18]
and ecx, 0xffff0000
cmp ecx, 0xfffe0000
je 0x4bf211
test al, al
jns 0x4bf215
mov edx, dword [ebx + 0x18]
and edx, 0xffff0000
cmp edx, 0xffff0000
jne 0x4bf215
or dword [ebx + 0x44], 1
mov eax, dword [ebx + 0x18]
cmp eax, 0xffff0101
ja 0x4bf2ad
je 0x4bf2a1
cmp eax, 0xfffe02ff
ja 0x4bf277
je 0x4bf26b
cmp eax, 0xfffe0101
je 0x4bf25f
cmp eax, 0xfffe0200
je 0x4bf253
cmp eax, 0xfffe0201
jne case.0x4bf2c9.65275
mov dword [ebx + 0x40], 2
jmp 0x4bf352
mov dword [ebx + 0x40], 1
jmp 0x4bf352
mov dword [ebx + 0x40], 0
jmp 0x4bf352
mov dword [ebx + 0x40], 3
jmp 0x4bf352
cmp eax, 0xfffe0300
je 0x4bf295
cmp eax, 0xfffe03ff
jne case.0x4bf2c9.65275
mov dword [ebx + 0x40], 5
jmp 0x4bf352
mov dword [ebx + 0x40], 4
jmp 0x4bf352
mov dword [ebx + 0x40], 6
jmp 0x4bf352
cmp eax, 0xffff0201
ja 0x4bf2fd
je 0x4bf2f4
add eax, 0xfefe
cmp eax, 0xfe
ja case.0x4bf2c9.65275
movzx eax, byte [eax + 0x4bf5a4]
jmp dword [eax*4 + 0x4bf590]
mov dword [ebx + 0x40], 7
jmp 0x4bf352
mov dword [ebx + 0x40], 8
jmp 0x4bf352
mov dword [ebx + 0x40], 9
jmp 0x4bf352
mov dword [ebx + 0x40], 0xa
jmp 0x4bf352
mov dword [ebx + 0x40], 0xb
jmp 0x4bf352
cmp eax, 0xffff02ff
je 0x4bf34b
cmp eax, 0xffff0300
je 0x4bf342
cmp eax, 0xffff03ff
je 0x4bf339
mov ecx, dword [ebx]
push 0x45be54
push 0x7d2
push edi
push ecx
call fcn.004c2c30
add esp, 0x10
mov esi, 0x88760b59
mov dword [ebx + 0x54], 1
jmp 0x4bf564
mov dword [ebx + 0x40], 0xe
jmp 0x4bf352
mov dword [ebx + 0x40], 0xd
jmp 0x4bf352
mov dword [ebx + 0x40], 0xc
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4bf3ee
or dword [ebx + 0x44], 2
push 0xb8
mov dword [ebx + 0x84], eax
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x4bf382
mov edx, dword [ebx + 0x40]
call fcn.004be560
jmp 0x4bf384
xor eax, eax
test eax, eax
mov dword [ebx + 0x80], eax
je 0x4bf17c
mov eax, dword [ebx + 0x40]
test eax, eax
jl 0x4bf3b6
cmp eax, 5
jg 0x4bf3b6
movzx edx, byte [ebx + 0x19]
movzx eax, byte [ebx + 0x18]
or edx, 0x7ffe00
shl edx, 8
or edx, eax
mov dword [ebx + 0x18], edx
jmp 0x4bf3ee
cmp eax, 0xa
jl 0x4bf3d8
cmp eax, 0xe
jg 0x4bf3d8
movzx ecx, byte [ebx + 0x19]
movzx edx, byte [ebx + 0x18]
or ecx, 0x7fff00
shl ecx, 8
or ecx, edx
mov dword [ebx + 0x18], ecx
jmp 0x4bf3ee
mov eax, dword [ebx]
push 0x45be70
push 0x7d1
push edi
push eax
call fcn.004c2c30
add esp, 0x10
test byte [ebx + 0x44], 2
jne 0x4bf445
push 0x45bed8
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
jne 0x4bf412
push 0x45bed8
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
je 0x4bf445
push 0x45bee4
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4bf445
call eax
test eax, eax
mov dword [ebx + 8], eax
je 0x4bf445
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push 0
push ebx
push 0x4c0080
push eax
call edx
mov esi, eax
test esi, esi
jl 0x4bf559
mov eax, dword [ebx + 0x18]
push eax
mov eax, ebx
call fcn.004c1510
mov esi, eax
test esi, esi
jl 0x4bf559
mov esi, ebx
call fcn.004c1440
mov esi, eax
test esi, esi
jl 0x4bf559
cmp dword [ebx + 0x54], 0
jne 0x4bf489
mov ecx, ebx
call fcn.004bd300
test eax, eax
je 0x4bf483
mov dword [ebx + 0x54], 1
cmp dword [ebx + 0x54], 0
je 0x4bf49a
mov esi, 0x88760b59
mov dword [ebx + 0x54], 1
jmp 0x4bf564
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
test edx, edx
je 0x4bf4d7
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 0x278]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x4bf4c2
mov ecx, eax
mov eax, dword [ecx + 0x88]
test eax, eax
jne 0x4bf4b6
mov ecx, dword [ecx]
cmp edx, ecx
jae 0x4bf4d7
mov eax, dword [ebp - 8]
mov esi, dword [eax]
add esi, edx
cmp esi, ecx
jbe 0x4bf4d7
sub ecx, edx
mov dword [eax], ecx
cmp dword [ebx + 0x80], 0
je 0x4bf4ec
push ebx
call fcn.004c1f90
mov esi, eax
test esi, esi
jl 0x4bf559
test byte [ebx + 0x44], 1
je 0x4bf4fe
push ebx
call fcn.004c2290
mov esi, eax
test esi, esi
jl 0x4bf559
push 0xffff
mov eax, ebx
call fcn.004c1510
mov esi, eax
test esi, esi
jl 0x4bf559
mov esi, ebx
call fcn.004c1440
mov esi, eax
test esi, esi
jl 0x4bf559
mov eax, dword [ebx + 8]
test eax, eax
je 0x4bf532
mov ecx, dword [eax]
mov edx, dword [ecx + 0x14]
push eax
call edx
mov esi, eax
test esi, esi
jl 0x4bf559
mov eax, dword [ebx]
cmp dword [eax + 0x14], 0
je 0x4bf548
mov esi, 0x88760b59
mov dword [ebx + 0x54], 1
jmp 0x4bf564
mov ecx, dword [ebp + 0x10]
push ecx
mov esi, ebx
call fcn.004c2630
mov esi, eax
test esi, esi
jge 0x4bf562
mov dword [ebx + 0x54], 1
jmp 0x4bf564
xor esi, esi
mov eax, dword [ebx + 8]
test eax, eax
je 0x4bf57a
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [ebx + 8], 0
mov edi, dword [ebx + 4]
call fcn.004c6130
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc