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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x490
cmp dword [ebp + 8], 0
je 0x4dcc6a
movd ebx, xmm0
mov dword [esp + 4], ecx
mov dword [esp + 0x1c], edx
mov eax, ebx
mov edi, ebx
shr eax, 0x17
and edi, 0x7fffff
movzx esi, al
lea eax, [ebx + ebx]
or edi, 0x800000
and eax, 0xfffffe
test esi, esi
cmove edi, eax
mov eax, ebx
and eax, 0x7fffffff
cmp eax, 0x7f800000
jne 0x4dc99a
mov al, 3
jmp 0x4dc9b7
ucomiss xmm0, xmm0
jp 0x4dcc7b
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x4dcb4e
jp 0x4dcb4e
mov al, 4
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 1
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], esi
mov word [esp + 0x80], dx
mov byte [esp + 0x82], al
add al, 0xfe
je 0x4dca7b
mov ecx, edx
movzx edx, al
cmp al, 3
mov eax, 3
mov edi, ebx
mov esi, 1
cmovb eax, edx
shr edi, 0x1f
test ebx, ebx
mov edx, 0x592ec6
mov ebx, 0x592ec7
cmovs esi, edx
cmovs ebx, edx
cmp byte [esp + 0x1c], 0
mov edx, 1
cmove ebx, esi
cmovne edi, edx
cmp al, 1
je 0x4dcaa7
movzx eax, al
cmp eax, 2
jne 0x4dcac7
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 4]
cmp eax, 1
jne 0x4dcb89
cmp byte [ebp + 0xc], 0
mov eax, 0x592ed2
mov edx, 0x592ecf
mov word [esp + 0x20], 2
cmovne edx, eax
lea eax, [esp + 0x20]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], 3
mov edx, 1
jmp 0x4dcc22
mov ebx, 1
lea eax, [esp + 0x20]
xor edi, edi
mov edx, 1
mov word [esp + 0x20], 2
mov dword [esp + 0x24], 0x592ec8
mov dword [esp + 0x28], 3
jmp 0x4dcc1e
mov word [esp + 0x20], 2
mov dword [esp + 0x24], 0x592ecb
mov dword [esp + 0x28], 3
lea eax, [esp + 0x20]
jmp 0x4dcc1e
test cx, cx
mov eax, 0xfffffff4
mov edx, 5
movsx esi, cx
cmovs edx, eax
mov eax, dword [ebp + 8]
imul esi, edx
cmp eax, 0x401
jb 0x4dcaf3
cmp esi, 0x3ec0
jae 0x4dcc82
shr esi, 4
add esi, 0x15
cmp esi, eax
cmovae esi, eax
cmp esi, 0x401
jae 0x4dcc93
lea ecx, [esp + 0x8c]
lea edx, [esp + 0x68]
lea eax, [esp + 0x20]
push 0x8000
push esi
push ecx
push edx
push eax
call fcn.004d66d0
add esp, 0x14
cmp dword [esp + 0x20], 0
je 0x4dcbdb
mov eax, dword [esp + 0x28]
movsd xmm0, qword [esp + 0x20]
mov dword [esp + 0x10], eax
movsd qword [esp + 8], xmm0
jmp 0x4dcbfb
mov eax, edi
and eax, 1
test ebx, 0x7f800000
je 0x4dcc43
cmp edi, 0x800000
jne 0x4dcc4f
movzx esi, si
mov ecx, 2
mov edi, 0x2000000
mov al, 1
add esi, 0xffffff68
mov edx, esi
xor esi, esi
jmp 0x4dc9b7
dec eax
cmp byte [ebp + 0xc], 0
mov word [esp + 0x20], 2
mov dword [esp + 0x24], 0x592e69
mov dword [esp + 0x28], 2
mov word [esp + 0x2c], 0
mov edx, str.e0E0assertion_failed:_buf.len_____ndigits__buf.len_____maxlen
mov dword [esp + 0x30], eax
mov eax, 0x592f06
mov word [esp + 0x38], 2
cmovne edx, eax
lea eax, [esp + 0x20]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], 2
mov edx, 3
jmp 0x4dcc22
lea eax, [esp + 8]
push 0x8000
push esi
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x74]
push ecx
push eax
call fcn.004d4f40
add esp, 0x14
movzx eax, byte [ebp + 0xc]
push 6
lea ecx, [esp + 0x24]
push ecx
push eax
push dword [ebp + 8]
push dword [esp + 0x20]
push dword [esp + 0x20]
push dword [esp + 0x20]
call fcn.004d6ff0
add esp, 0x1c
mov ecx, dword [esp + 4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
lea edx, [esp + 8]
call fcn.004de920
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
add esi, 0xffffff6a
mov edx, esi
xor esi, esi
jmp 0x4dcc5e
mov edx, esi
add edi, edi
xor esi, esi
movzx edx, dx
add edx, 0xffffff69
xor al, 1
mov ecx, 1
jmp 0x4dc9b7
push 0x592ef4
push 0x1d
push 0x592ed5
call fcn.004dab10
mov al, 2
jmp 0x4dc9b7
push 0x592f48
push 0x3d
push 0x592f08
call fcn.004dab10
push 0x592f58
push 0x400
push esi
call fcn.004e0750
nop word cs:[eax + eax]
nop dword [eax]