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

Disassembly:
sub esp, 0x5c
push ebx
mov ebx, dword [esp + 0x70]
push ebp
push esi
push edi
cmp ebx, 6
jb 0x4d148b
mov edx, dword [esp + 0x70]
mov edi, edx
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
push esi
lea ecx, [edx + eax]
mov dword [esp + 0x20], ecx
add ecx, 0xfffffff1
cmp eax, 0xf
mov eax, dword [esp + 0x84]
cmovb ecx, edx
mov dword [esp + 0x28], ecx
lea ecx, [eax + 2]
movzx eax, word [eax]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
call fcn.004cad77
movzx eax, ax
mov dword [esp + 0x14], eax
lea eax, [esi + 2]
push eax
call fcn.004cad77
movzx eax, ax
mov dword [esp + 0x84], eax
lea eax, [esi + 4]
push eax
call fcn.004cad77
lea ecx, [esi + 6]
movzx ebp, ax
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x28], ecx
lea edx, [ecx + esi]
mov dword [esp + 0x20], edx
add edx, eax
add eax, 6
mov dword [esp + 0x10], edx
add eax, ebp
add eax, esi
cmp eax, ebx
jae 0x4d148b
push esi
push ecx
lea eax, [esp + 0x34]
push eax
call fcn.004d0c78
add esp, 0xc
cmp eax, 0xfffffff8
ja 0x4d148e
push dword [esp + 0x7c]
lea eax, [esp + 0x40]
push dword [esp + 0x24]
push eax
call fcn.004d0c78
add esp, 0xc
cmp eax, 0xfffffff8
ja 0x4d148e
push ebp
push dword [esp + 0x14]
lea eax, [esp + 0x64]
push eax
call fcn.004d0c78
add esp, 0xc
cmp eax, 0xfffffff8
ja 0x4d148e
mov eax, dword [esp + 0x10]
sub ebx, ebp
sub ebx, dword [esp + 0x7c]
add eax, ebp
sub ebx, esi
sub ebx, 6
push ebx
push eax
lea eax, [esp + 0x54]
push eax
call fcn.004d0c78
add esp, 0xc
cmp eax, 0xfffffff8
ja 0x4d148e
lea eax, [esp + 0x3c]
push eax
call fcn.004d101a
mov ebx, eax
pop ecx
cmp ebx, 2
jae 0x4d1401
mov ebp, dword [esp + 0x18]
cmp edi, dword [esp + 0x24]
jae 0x4d13fe
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x2c]
push ebp
push ebx
push eax
call fcn.004d10a0
push ebp
mov byte [edi], al
lea eax, [esp + 0x4c]
push ebx
push eax
call fcn.004d10a0
push ebp
mov byte [edi + 1], al
lea eax, [esp + 0x78]
push ebx
push eax
call fcn.004d10a0
push ebp
mov byte [edi + 2], al
lea eax, [esp + 0x74]
push ebx
push eax
call fcn.004d10a0
push ebp
mov byte [edi + 3], al
lea eax, [esp + 0x60]
push ebx
push eax
call fcn.004d10a0
mov byte [edi + 4], al
lea eax, [esp + 0x68]
push eax
call fcn.004d101a
add esp, 0x40
lea eax, [esp + 0x3c]
push ebp
push ebx
push eax
call fcn.004d10a0
mov byte [edi + 5], al
lea eax, [esp + 0x48]
push eax
call fcn.004d101a
push ebp
lea eax, [esp + 0x70]
push ebx
push eax
call fcn.004d10a0
mov byte [edi + 6], al
lea eax, [esp + 0x78]
push eax
call fcn.004d101a
push ebp
lea eax, [esp + 0x70]
push ebx
push eax
call fcn.004d10a0
mov byte [edi + 7], al
lea eax, [esp + 0x78]
push eax
call fcn.004d101a
push ebp
lea eax, [esp + 0x60]
push ebx
push eax
call fcn.004d10a0
push ebp
mov byte [edi + 8], al
lea eax, [esp + 0x7c]
push ebx
push eax
call fcn.004d10a0
add esp, 0x48
mov byte [edi + 9], al
lea eax, [esp + 0x5c]
push ebp
push ebx
push eax
call fcn.004d10a0
mov byte [edi + 0xa], al
push ebp
lea eax, [esp + 0x5c]
push ebx
push eax
call fcn.004d10a0
push ebp
mov byte [edi + 0xb], al
lea eax, [esp + 0x48]
push ebx
push eax
call fcn.004d10a0
push ebp
mov byte [edi + 0xc], al
lea eax, [esp + 0x64]
push ebx
push eax
call fcn.004d10a0
push ebp
mov byte [edi + 0xd], al
lea eax, [esp + 0x90]
push ebx
push eax
call fcn.004d10a0
push ebp
mov byte [edi + 0xe], al
lea eax, [esp + 0x8c]
push ebx
push eax
call fcn.004d10a0
add esp, 0x48
mov byte [edi + 0xf], al
lea eax, [esp + 0x4c]
add edi, 0x10
push eax
call fcn.004d101a
mov esi, eax
lea eax, [esp + 0x60]
push eax
call fcn.004d101a
or esi, eax
lea eax, [esp + 0x44]
push eax
call fcn.004d101a
mov ebx, eax
lea eax, [esp + 0x38]
push eax
or ebx, esi
call fcn.004d101a
add esp, 0x10
cmp ebx, 2
jb 0x4d128b
cmp ebx, 2
jne 0x4d1487
mov eax, dword [esp + 0x34]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x3c]
push eax
call fcn.004d101a
mov esi, dword [esp + 0x20]
pop ecx
cmp eax, 2
jae 0x4d1468
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
cmp edi, esi
jae 0x4d1468
push ebp
lea eax, [esp + 0x40]
push ebx
push eax
call fcn.004d10a0
mov byte [edi], al
lea eax, [esp + 0x48]
push eax
inc edi
call fcn.004d101a
add esp, 0x10
cmp eax, 2
jb 0x4d1443
lea eax, [esp + 0x3c]
push eax
call fcn.004c729a
pop ecx
test eax, eax
je 0x4d147f
sub edi, dword [esp + 0x70]
mov eax, edi
jmp 0x4d148e
cmp edi, esi
jne 0x4d1487
push 0xfffffffffffffffb
jmp 0x4d148d
push 0xfffffffffffffff9
jmp 0x4d148d
push 0xfffffffffffffffa
pop eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret