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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x70
mov ebx, dword [esp + 0x84]
xor esi, esi
mov ecx, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x34], esi
mov ebp, 2
mov dword [esp + 0x28], ebp
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], esi
mov eax, 1
mov dword [esp + 0x30], eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], eax
mov edx, 8
mov dword [esp], edx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
push ebx
mov dword [ebx + 0x78], esi
call fcn.004b93b0
pop ecx
movzx eax, byte [ebx + 0x123]
test eax, eax
je 0x4c22c8
mov esi, dword [ebx + 0x70]
mov eax, dword [ebx + 0xcc]
test esi, 2
jne 0x4c2271
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0x54]
neg ebp
add ebp, ecx
lea eax, [ebp + eax - 1]
xor edx, edx
div ecx
mov dword [ebx + 0xd0], eax
jmp 0x4c2277
mov dword [ebx + 0xd0], eax
mov ecx, dword [ebx + 0xc8]
movzx edi, byte [ebx + 0x124]
mov ebp, dword [esp + edi*4]
mov edx, dword [esp + edi*4 + 0x1c]
movzx edi, byte [ebx + 0x129]
lea eax, [ecx + ebp]
neg edx
lea eax, [eax + edx - 1]
xor edx, edx
div ebp
cmp edi, 8
mov dword [ebx + 0xe0], eax
jl 0x4c22b4
mov edx, edi
shr edx, 3
imul eax, edx
jmp 0x4c22bd
imul eax, edi
add eax, 7
shr eax, 3
add eax, 1
mov dword [ebx + 0xdc], eax
jmp 0x4c22f9
mov ecx, dword [ebx + 0xcc]
mov eax, dword [ebx + 0xd8]
movzx edi, byte [ebx + 0x129]
mov esi, dword [ebx + 0x70]
mov dword [ebx + 0xd0], ecx
mov ecx, dword [ebx + 0xc8]
mov dword [ebx + 0xe0], ecx
add eax, 1
mov dword [ebx + 0xdc], eax
test esi, 4
je 0x4c2312
movzx eax, byte [ebx + 0x127]
cmp eax, 8
jge 0x4c2312
mov edi, 8
mov ebp, esi
and ebp, 0x1000
je 0x4c2354
movzx eax, byte [ebx + 0x126]
cmp eax, 3
je 0x4c24f3
test eax, eax
jne 0x4c234b
movzx edx, word [ebx + 0x11a]
mov eax, 8
cmp edi, 8
jge 0x4c2343
mov edi, eax
test edx, edx
je 0x4c2354
add edi, edi
jmp 0x4c2354
cmp eax, 2
je 0x4c24cd
mov eax, esi
and eax, 0x8000
je 0x4c238d
movzx edx, byte [ebx + 0x126]
cmp edx, 3
je 0x4c252b
test edx, edx
jne 0x4c2384
cmp edi, 8
jg 0x4c237d
mov edi, 0x10
jmp 0x4c238d
mov edi, 0x20
jmp 0x4c238d
cmp edx, 2
je 0x4c2512
test esi, 0x4000
je 0x4c23ea
movzx edx, word [ebx + 0x11a]
test edx, edx
je 0x4c23a4
test ebp, ebp
jne 0x4c23a8
test eax, eax
je 0x4c23bb
cmp edi, 0x10
jg 0x4c23b4
mov edi, 0x20
jmp 0x4c23ea
mov edi, 0x40
jmp 0x4c23ea
movzx eax, byte [ebx + 0x126]
cmp eax, 4
je 0x4c23a8
cmp edi, 8
jg 0x4c23dc
cmp eax, 6
je 0x4c2535
mov edi, 0x18
jmp 0x4c23ea
cmp eax, 6
je 0x4c253f
mov edi, 0x30
test esi, 0x100000
je 0x4c2403
movzx eax, byte [ebx + 0x65]
movzx edx, byte [ebx + 0x64]
imul edx, eax
cmp edx, edi
jle 0x4c2403
mov edi, edx
add ecx, 7
and ecx, 0xfffffff8
cmp edi, 8
jl 0x4c2418
mov eax, edi
shr eax, 3
imul ecx, eax
jmp 0x4c2421
imul ecx, edi
add ecx, 7
shr ecx, 3
add edi, 7
sar edi, 3
lea ebp, [edi + ecx + 0x41]
cmp ebp, dword [ebx + 0x280]
jbe 0x4c245e
push dword [ebx + 0x250]
push ebx
call fcn.004bd4ec
push ebp
push ebx
call fcn.004bd574
add esp, 0x10
mov dword [ebx + 0x250], eax
add eax, 0x20
mov dword [ebx + 0xec], eax
mov dword [ebx + 0x280], ebp
mov edx, dword [ebx + 0xd8]
cmp edx, 0xfffffffe
ja 0x4c2549
add edx, 1
cmp edx, dword [ebx + 0x284]
ja 0x4c2480
mov eax, dword [ebx + 0xe8]
jmp 0x4c24b4
push dword [ebx + 0xe8]
push ebx
call fcn.004bd4ec
mov eax, dword [ebx + 0xd8]
add eax, 1
push eax
push ebx
call fcn.004bd574
add esp, 0x10
mov edx, dword [ebx + 0xd8]
mov dword [ebx + 0xe8], eax
add edx, 1
mov dword [ebx + 0x284], edx
push edx
push 0
push eax
push ebx
call fcn.004bd534
or dword [ebx + 0x6c], 0x40
add esp, 0x80
pop ebx
pop ebp
pop esi
pop edi
ret
movzx eax, word [ebx + 0x11a]
test eax, eax
je 0x4c2354
mov eax, 0x55555556
add edi, edi
add edi, edi
imul edi
sar edi, 0x1f
neg edi
add edi, edx
jmp 0x4c2354
movzx eax, word [ebx + 0x11a]
test eax, eax
je 0x4c2508
mov edi, 0x20
jmp 0x4c2354
mov edi, 0x18
jmp 0x4c2354
cmp edi, 0x20
jg 0x4c2521
mov edi, 0x20
jmp 0x4c238d
mov edi, 0x40
jmp 0x4c238d
mov edi, 0x20
jmp 0x4c238d
mov edi, 0x20
jmp 0x4c23ea
mov edi, 0x40
jmp 0x4c23ea
push 0x8150c4
push ebx
call fcn.004bd870
add esp, 8
mov edx, dword [ebx + 0xd8]
jmp 0x4c246d