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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x144
mov eax, dword [0x601018]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, edx
push esi
mov esi, ecx
mov ecx, dword [ebx]
mov dword [ecx + 0x19dd30], 0x120
mov ecx, dword [ebx]
mov dword [ebp - 0x140], eax
mov eax, dword [ecx + 0x19dd30]
lea eax, [eax + eax*4]
push edi
mov edi, dword [ebx + 0xc]
add eax, eax
push eax
mov dword [ebx + 0x2c], eax
call fcn.004a5600
mov ecx, dword [ebx + 0xc]
call fcn.004a5110
mov edx, dword [ebp + 8]
lea eax, [esi + edx]
mov ecx, esi
mov dword [ebp - 0x13c], eax
cmp esi, eax
jae 0x4bf593
jmp 0x4beec6
mov ecx, dword [ebp - 0x118]
mov eax, dword [ebx + 0x1c]
xor edi, edi
mov dword [ebx + 0x1490], edi
cmp eax, 0xffffffff
jne 0x4beedf
cmp dword [ebx + 0x14], edi
je 0x4beee5
movzx eax, byte [ecx]
inc ecx
mov dword [ebx + 0x1490], eax
movzx eax, byte [ecx]
mov edx, dword [ebx + 0x14]
inc ecx
mov dword [ebp - 0x118], ecx
mov dword [ebx + 0x1494], eax
cmp edx, edi
je 0x4bef19
cmp dword [ebx + 0x18], 1
jne 0x4bef19
mov ecx, dword [ebx + 0x1490]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1494], ecx
mov dword [ebx + 0x1490], edi
mov eax, dword [ebx + 0x1490]
mov dword [ebx + 0x1498], edi
mov dword [ebx + 0x149c], edi
mov dword [ebx + 0x14a0], edi
mov dword [ebx + 0x14a4], edi
cmp dword [ebx + eax*4 + 0x874], edi
je 0x4bef6d
mov esi, dword [ebx + 0x20]
mov ecx, dword [ebx + 0x1494]
lea ecx, [esi + ecx*4]
mov esi, dword [ebx + eax*4 + 0x874]
mov esi, dword [esi + 0x8cc]
lea ecx, [ecx + ecx*2]
lea ecx, [esi + ecx*4]
mov dword [ebx + 0x14a0], ecx
mov ecx, dword [ecx]
mov dword [ebx + 0x14a4], ecx
mov ecx, dword [ebx + 0x1494]
cmp ecx, dword [ebx + 0x3c]
jne 0x4bf0c4
cmp edx, edi
je 0x4bef89
cmp eax, dword [ebx + 0x40]
jne 0x4bf0c4
mov ecx, dword [ebx + 0xc]
cmp dword [ecx + 0xc4], edi
je 0x4befa7
mov eax, dword [ecx + 0xc8]
imul eax, dword [ecx + 0x38]
cdq
idiv dword [ecx + 0x34]
jmp 0x4bf047
cmp dword [ebx + 0x14a4], edi
je 0x4bf040
mov ecx, dword [ebx + 0x14a4]
mov ecx, dword [ecx + 0x10]
imul ecx, dword [ebx + 0x38]
mov edx, dword [ebx]
mov esi, dword [edx + 0x19dd24]
imul ecx, esi
mov eax, 0xb60b60b7
imul ecx
mov eax, dword [ebx + 0x14a4]
add edx, ecx
mov ecx, dword [eax + 0x14]
imul ecx, dword [ebx + 0x38]
imul ecx, esi
sar edx, 0xa
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, 0xb60b60b7
imul ecx
add edx, ecx
sar edx, 0xa
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, 0x10624dd3
imul edi
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x10624dd3
imul esi
mov dword [ebx + 0x1498], ecx
imul ecx, ecx, 0x3e8
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
mov ecx, dword [ebx + 0xc]
add eax, edi
mov dword [ebx + 0x149c], eax
xor edi, edi
jmp 0x4bf053
mov edx, dword [ebx + 0x20]
mov eax, dword [ebx + edx*4 + 0x44]
mov dword [ebx + 0x149c], edi
mov dword [ebx + 0x1498], eax
mov edx, dword [ebx + 0x149c]
add dword [ecx + 0x80], edx
mov esi, dword [ecx + 0x80]
mov eax, 0x10624dd3
imul esi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, edi
jle 0x4bf08a
mov edx, eax
imul edx, edx, 0x3e8
sub esi, edx
mov dword [ecx + 0x80], esi
mov edx, dword [ecx + 0x48]
cmp edx, edi
jne 0x4bf099
add dword [ecx + 0x78], eax
jmp 0x4bf550
cmp edx, 1
jne 0x4bf0a6
add dword [ecx + 0x7c], eax
jmp 0x4bf550
cmp edx, 2
jne 0x4bf0b3
sub dword [ecx + 0x78], eax
jmp 0x4bf550
cmp edx, 3
jne 0x4bf550
sub dword [ecx + 0x7c], eax
jmp 0x4bf550
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x19dd30]
push edx
mov edi, eax
mov dword [ebp - 0x110], 1
call fcn.004bd2a0
mov eax, dword [ebx + 0x1490]
xor esi, esi
cmp dword [ebx + eax*4 + 0xc74], esi
jne 0x4bf0f5
mov dword [ebp - 0x110], esi
mov edx, dword [ebx + eax*4 + 0x874]
mov ecx, dword [edx + 0x84c]
cmp ecx, 0x1f
jne 0x4bf116
mov eax, dword [ebx + 0x14a4]
cmp eax, esi
je 0x4bf124
cmp dword [eax + 0xc], esi
jmp 0x4bf122
cmp ecx, 0x1e
jne 0x4bf124
cmp dword [ebx + eax*4 + 0x1074], esi
jne 0x4bf12a
mov dword [ebp - 0x110], esi
mov edi, dword [ebx + 0xc]
mov eax, dword [ebx + 0x20]
mov esi, dword [edi + 0x48]
mov ecx, dword [ebx + 0x14a0]
add esi, eax
and esi, 3
cmp byte [ecx + 7], 0
mov dword [ebp - 0x114], esi
jne 0x4bf1ec
cmp dword [ebx + 0x14a4], 0
je 0x4bf1ec
mov ecx, dword [ebx + 0x14a4]
mov ecx, dword [ecx + 0x10]
imul ecx, dword [ebx + 0x38]
mov edx, dword [ebx]
mov esi, dword [edx + 0x19dd24]
imul ecx, esi
mov eax, 0xb60b60b7
imul ecx
mov eax, dword [ebx + 0x14a4]
add edx, ecx
mov ecx, dword [eax + 0x14]
imul ecx, dword [ebx + 0x38]
imul ecx, esi
sar edx, 0xa
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, 0xb60b60b7
imul ecx
add edx, ecx
sar edx, 0xa
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, 0x10624dd3
imul edi
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x10624dd3
imul esi
mov esi, dword [ebp - 0x114]
mov dword [ebx + 0x1498], ecx
imul ecx, ecx, 0x3e8
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
add eax, edi
mov edi, dword [ebx + 0xc]
mov dword [ebx + 0x149c], eax
jmp 0x4bf23b
mov ecx, dword [edx + eax*4 + 0x89c]
mov ecx, dword [ecx + 0x1c]
imul ecx, dword [ebx + 0x38]
mov edx, dword [ebx]
imul ecx, dword [edx + 0x19dd24]
mov eax, 0xb60b60b7
imul ecx
add edx, ecx
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebx + 0x1498], eax
imul eax, eax, 0x3e8
sub ecx, eax
mov dword [ebx + 0x149c], ecx
mov eax, dword [ebx + 0x149c]
add dword [edi + 0x80], eax
mov ecx, dword [edi + 0x80]
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
test eax, eax
jle 0x4bf272
mov edx, eax
imul edx, edx, 0x3e8
sub ecx, edx
mov dword [edi + 0x80], ecx
mov ecx, dword [edi + 0x48]
test ecx, ecx
jne 0x4bf27e
add dword [edi + 0x78], eax
jmp 0x4bf29a
cmp ecx, 1
jne 0x4bf288
add dword [edi + 0x7c], eax
jmp 0x4bf29a
cmp ecx, 2
jne 0x4bf292
sub dword [edi + 0x78], eax
jmp 0x4bf29a
cmp ecx, 3
jne 0x4bf29a
sub dword [edi + 0x7c], eax
mov eax, dword [ebx + 0xc]
inc dword [eax + esi*4 + 0x68]
lea eax, [eax + esi*4 + 0x68]
cmp esi, 1
jne 0x4bf2b1
mov esi, 3
jmp 0x4bf2bb
cmp esi, 3
jne 0x4bf2bb
mov esi, 1
cmp dword [ebp - 0x110], 0
je 0x4bf54e
mov eax, dword [ebx + 0x1490]
mov eax, dword [ebx + eax*4 + 0xc74]
cmp dword [eax], 0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ecx + 0x7c]
jne 0x4bf2e9
mov ecx, dword [ecx + 0x78]
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], edx
mov edx, dword [ebx + 0x1490]
mov ecx, dword [ebx + edx*4 + 0xc74]
push esi
call fcn.004b5770
mov esi, dword [ebx + 0x1490]
mov eax, dword [ebx + esi*4 + 0x874]
mov eax, dword [eax + 0x84c]
cmp eax, 0x1f
jne 0x4bf37c
mov ecx, dword [ebx + 0x14a4]
mov eax, dword [ecx + 0xc]
movzx edi, byte [eax]
dec edi
push edi
inc eax
push eax
lea edx, [ebp - 0x108]
push edx
call sub.MSVCR100.dll_memcpy
mov byte [ebp + edi - 0x108], 0
mov edi, dword [ebx + esi*4 + 0xc74]
add esp, 0xc
cmp dword [edi], 0
jne 0x4bf3e3
mov eax, dword [edi + 8]
test eax, eax
je 0x4bf367
lea ecx, [ebp - 0x108]
push ecx
push eax
call fcn.00552270
add esp, 8
mov dword [edi + 0xc], eax
jmp 0x4bf36e
mov dword [edi + 0xc], 0
cmp dword [edi + 0xc], 0
jne 0x4bf3e3
mov dword [edi], 0xef7c
jmp 0x4bf3e3
cmp eax, 0x1e
jne 0x4bf3e3
mov eax, dword [ebx + esi*4 + 0xc74]
cmp dword [eax], 0
mov dword [ebp - 0x10c], eax
jne 0x4bf3cb
cmp dword [eax + 8], 0
je 0x4bf3b8
mov edi, dword [ebx + 0x1494]
mov esi, dword [ebx + esi*4 + 0x1074]
call fcn.004cf980
mov edx, dword [ebp - 0x10c]
mov dword [edx + 0xc], eax
mov eax, edx
jmp 0x4bf3bf
mov dword [eax + 0xc], 0
cmp dword [eax + 0xc], 0
jne 0x4bf3cb
mov dword [eax], 0xef7a
mov eax, dword [ebx + 0x1490]
mov eax, dword [ebx + eax*4 + 0xc74]
cmp dword [eax], 0
je 0x4bf3e3
mov dword [eax], 0
mov ecx, dword [ebx + 0x1490]
mov edi, dword [ebx + ecx*4 + 0xc74]
cmp dword [edi], 0
jne 0x4bf438
mov eax, dword [edi + 8]
test eax, eax
je 0x4bf42a
mov edx, dword [edi + 0xc]
push 8
push edx
push eax
call fcn.005549c0
add esp, 0xc
mov dword [edi], eax
test eax, eax
jne 0x4bf438
mov eax, dword [edi + 8]
test eax, eax
je 0x4bf432
mov eax, dword [eax + 0x54]
push 2
push eax
call fcn.00554090
add esp, 8
mov dword [edi], eax
jmp 0x4bf438
mov dword [edi], 0xef7d
jmp 0x4bf438
mov dword [edi], 0xef80
mov ecx, dword [ebx + 0x1490]
mov edx, dword [ebx + ecx*4 + 0xc74]
xor eax, eax
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], eax
mov esi, eax
mov dword [ebp - 0x128], eax
mov edi, eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], eax
cmp dword [edx], eax
jne 0x4bf4a9
mov eax, dword [edx + 8]
mov esi, dword [edx + 0x2c]
mov ecx, dword [eax + 0x54]
mov edx, dword [edx + 0x30]
mov eax, dword [ecx + 0x58]
mov edi, dword [ecx + 0x54]
mov dword [ebp - 0x130], edx
mov edx, dword [ecx + 0x4c]
mov dword [ebp - 0x134], esi
mov esi, dword [ecx + 0x50]
mov dword [ebp - 0x128], edx
mov edx, dword [ecx + 0x68]
mov ecx, dword [ecx + 0x64]
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x11c], ecx
test esi, esi
jle 0x4bf54e
cmp dword [ebp - 0x128], 0
jle 0x4bf54e
mov esi, dword [ebx + 0xc]
mov dl, byte [esi + 0x58]
sub esp, 8
mov ecx, esp
mov byte [ecx], dl
mov edx, dword [esi + 0x5c]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x128]
lea edx, [edi*8]
imul edi, ecx
push 0
push edi
push eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x10c], edx
push ecx
push edx
mov edx, dword [eax + 0x20]
sub edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x11c]
add eax, dword [ebp - 0x134]
sub edx, ecx
add edx, dword [ebp - 0x120]
sub esp, 0x10
mov dword [ebp - 0x114], edx
fild dword [ebp - 0x114]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x140]
fstp dword [esp + 0xc]
fild dword [ebp - 0x114]
fstp dword [esp + 8]
fild dword [ebp - 0x128]
fstp dword [esp + 4]
fild dword [ebp - 0x10c]
fstp dword [esp]
call fcn.00482120
xor edi, edi
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax + 0x48]
mov edx, dword [ebx + 0x1498]
cmp ecx, edi
jne 0x4bf565
add dword [eax + 0x78], edx
jmp 0x4bf581
cmp ecx, 1
jne 0x4bf56f
add dword [eax + 0x7c], edx
jmp 0x4bf581
cmp ecx, 2
jne 0x4bf579
sub dword [eax + 0x78], edx
jmp 0x4bf581
cmp ecx, 3
jne 0x4bf581
sub dword [eax + 0x7c], edx
mov edx, dword [ebp - 0x13c]
cmp dword [ebp - 0x118], edx
jb 0x4beec0
mov eax, dword [ebx]
add eax, 0x10
mov ecx, ebx
call fcn.004bed40
mov ecx, dword [ebx + 0xc]
call fcn.004a5260
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00596083
mov esp, ebp
pop ebp
ret 8