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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push esi
push edi
mov edi, edx
mov esi, ecx
mov edx, dword [ebp + 8]
cmp edi, 0x190
jg 0x4d5a48
je 0x4d5a0a
lea eax, [edi - 0xa]
cmp eax, 0xc0
ja case.default.0x4d5b28
movzx eax, byte [eax + 0x4d5d64]
jmp dword [eax*4 + 0x4d5d1c]
mov ecx, 0xa
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
mov dword [esi], edx
pop edi
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x18]
mov ecx, edi
push eax
call fcn.004d5260
add esp, 4
movq xmm0, qword [eax]
mov ecx, dword [eax + 8]
movq qword [ebp - 0xc], xmm0
mov eax, dword [ebp - 0xc]
cmp eax, 0xffffff88
ja 0x4d5d14
cmp edx, dword [ebp - 8]
cmovl edx, dword [ebp - 8]
cmp edx, ecx
jle 0x4d582c
mov edx, ecx
test edx, edx
jne 0x4d5840
mov edx, 3
pop edi
mov dword [esi + 0x2c], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
mov dword [esi + 0x2c], edx
test edx, edx
jns 0x4d57f1
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x4d5865
mov ecx, 0x65
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 4], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x4d5886
mov ecx, 0x66
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0xc], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x4d58a7
mov ecx, 0x67
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 8], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x4d58c8
mov ecx, 0x68
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0x10], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x4d58e9
mov ecx, 0x69
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0x14], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x6a
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0x18], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x4d5927
mov ecx, 0x6b
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0x1c], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
xor eax, eax
test edx, edx
pop edi
setne al
mov dword [esi + 0x20], eax
pop esi
mov esp, ebp
pop ebp
ret
xor eax, eax
test edx, edx
pop edi
setne al
mov dword [esi + 0x24], eax
pop esi
mov esp, ebp
pop ebp
ret
xor eax, eax
test edx, edx
pop edi
sete al
mov dword [esi + 0x28], eax
xor eax, eax
test edx, edx
pop esi
setne al
mov esp, ebp
pop ebp
ret
mov ecx, 0xa0
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0x54], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x4d599c
mov ecx, 0xa1
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0x58], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x4d59bd
mov ecx, 0xa2
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0x60], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x4d59de
mov ecx, 0xa3
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0x5c], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x4d59ff
mov ecx, 0xa4
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0x64], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x18]
mov ecx, edi
push eax
call fcn.004d5260
add esp, 4
movq xmm0, qword [eax]
mov ecx, dword [eax + 8]
movq qword [ebp - 0xc], xmm0
mov eax, dword [ebp - 0xc]
cmp eax, 0xffffff88
ja 0x4d5d14
cmp edx, dword [ebp - 8]
cmovl edx, dword [ebp - 8]
cmp edx, ecx
jle 0x4d5a3d
mov edx, ecx
pop edi
mov dword [esi + 0x44], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
cmp edi, 0x3e8
jg 0x4d5b19
je 0x4d5b09
mov eax, edi
sub eax, 0x191
je 0x4d5abd
sub eax, 1
je 0x4d5a97
sub eax, 0x62
jne case.default.0x4d5b28
test edx, edx
jns 0x4d5a82
xor edx, edx
pop edi
mov dword [esi + 0x50], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
mov eax, 9
cmp edx, eax
pop edi
cmovg edx, eax
mov dword [esi + 0x50], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
jns 0x4d5aa8
xor edx, edx
pop edi
mov dword [esi + 0x4c], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
mov eax, 9
cmp edx, eax
pop edi
cmovg edx, eax
mov dword [esi + 0x4c], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x4d5acb
mov eax, 0x80000
cmp edx, eax
cmovl edx, eax
lea eax, [ebp - 0x18]
mov ecx, edi
push eax
call fcn.004d5260
add esp, 4
movq xmm0, qword [eax]
mov ecx, dword [eax + 8]
movq qword [ebp - 0xc], xmm0
mov eax, dword [ebp - 0xc]
cmp eax, 0xffffff88
ja 0x4d5d14
cmp edx, dword [ebp - 8]
cmovl edx, dword [ebp - 8]
cmp edx, ecx
jle 0x4d5afe
mov edx, ecx
pop edi
mov dword [esi + 0x48], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
xor eax, eax
test edx, edx
pop edi
setne al
mov dword [esi + 0x30], eax
pop esi
mov esp, ebp
pop ebp
ret
add edi, 0xfffffc17
cmp edi, 0xf
ja case.default.0x4d5b28
jmp dword [edi*4 + 0x4d5e28]
mov ecx, 0x3e9
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0x3c], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x3ea
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0x40], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
xor eax, eax
test edx, edx
pop edi
setne al
mov dword [esi + 0x6c], eax
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x4d5b8f
mov ecx, 0x3eb
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0x34], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x4d5bb0
mov ecx, 0x3ec
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0x38], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x3ee
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0x70], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x3ef
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0x74], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x3f0
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0x78], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x3f1
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0x7c], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x3f2
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0x80], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x3f3
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0x84], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x3f4
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
xor eax, eax
test edx, edx
pop edi
setne al
mov dword [esi + 0x88], eax
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x3f5
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0x98], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x3f6
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0x9c], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x4d5cda
mov ecx, 0x3f7
call fcn.004d4dd0
test eax, eax
je 0x4d5cf6
pop edi
mov dword [esi + 0xa4], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x3f8
call fcn.004d4dd0
test eax, eax
jne 0x4d5d01
pop edi
mov eax, 0xffffffd6
pop esi
mov esp, ebp
pop ebp
ret
pop edi
mov dword [esi + 0xa8], edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
mov eax, 0xffffffd8
pop edi
pop esi
mov esp, ebp
pop ebp
ret