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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x4a0
cmp dword [ebp + 8], 0
mov dword [esp + 4], ecx
je 0x4999fa
mov dword [esp + 0x24], edx
movsd qword [esp + 0x28], xmm0
mov ecx, 0x100000
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
lea esi, [ecx - 1]
mov eax, ebx
mov edi, ebx
and esi, ebx
mov dword [esp + 8], ebx
shr eax, 0x14
shld edi, edx, 1
lea ebx, [esi + 0x100000]
and eax, 0x7ff
and edi, 0x1fffff
test eax, eax
cmove ebx, edi
mov edi, ebx
lea ebx, [edx + edx]
cmovne ebx, edx
ucomisd xmm0, xmm0
jp 0x499a0b
mov dword [esp + 0xc], ebx
and ebx, 1
or esi, edx
je 0x49973a
test dword [esp + 8], 0x7ff00000
jne 0x499760
mov edx, dword [esp + 0xc]
add eax, 0xfffffbcd
xor bl, 1
xor ecx, ecx
mov esi, 1
jmp 0x4997a0
mov dword [esp + 0x20], edi
mov edi, dword [esp + 8]
and edi, 0x7fffffff
mov esi, edi
xor esi, 0x7ff00000
or esi, edx
je 0x49979e
or edx, edi
mov edi, dword [esp + 0x20]
jne 0x499760
mov bl, 4
jmp 0x4997a0
mov edx, dword [esp + 0xc]
xor ecx, edi
or ecx, edx
jne 0x499784
movzx eax, ax
xor edx, edx
mov esi, 2
mov edi, 0x400000
mov bl, 1
xor ecx, ecx
add eax, 0xfffffbcb
jmp 0x4997a0
movzx eax, ax
shld edi, edx, 1
add edx, edx
xor bl, 1
xor ecx, ecx
mov esi, 1
add eax, 0xfffffbcc
jmp 0x4997a0
mov bl, 3
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], edi
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 1
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], ecx
mov word [esp + 0x90], ax
mov byte [esp + 0x92], bl
add bl, 0xfe
je 0x499873
movzx edx, bl
cmp bl, 3
mov ecx, 3
mov edi, 1
mov ebx, 0x59e6ef
cmovb ecx, edx
mov edx, dword [esp + 8]
mov esi, edx
shr esi, 0x1f
test edx, edx
mov edx, 0x59e6ee
cmovs edi, edx
cmovs ebx, edx
cmp byte [esp + 0x24], 0
mov edx, 1
cmove ebx, edi
cmovne esi, edx
cmp cl, 1
je 0x49989f
movzx edx, byte [ebp + 0xc]
movzx ecx, cl
cmp ecx, 2
jne 0x4998bf
mov eax, dword [ebp + 8]
cmp eax, 1
jne 0x49993f
test dl, dl
mov eax, 0x59e6fa
mov ecx, 0x59e6f7
mov word [esp + 0x30], 2
mov edx, 1
cmovne ecx, eax
lea eax, [esp + 0x30]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], 3
jmp 0x4999d5
mov ebx, 1
lea eax, [esp + 0x30]
xor esi, esi
mov edx, 1
mov word [esp + 0x30], 2
mov dword [esp + 0x34], 0x59e6f0
mov dword [esp + 0x38], 3
jmp 0x4999d5
mov word [esp + 0x30], 2
mov dword [esp + 0x34], 0x59e6f3
mov dword [esp + 0x38], 3
lea eax, [esp + 0x30]
jmp 0x4999d5
test ax, ax
movsx edi, ax
mov eax, dword [ebp + 8]
mov ecx, 0xfffffff4
mov edx, 5
cmovs edx, ecx
imul edi, edx
cmp eax, 0x401
jb 0x4998eb
cmp edi, 0x3ec0
jae 0x499a12
shr edi, 4
add edi, 0x15
cmp edi, eax
cmovae edi, eax
cmp edi, 0x401
jae 0x499a23
lea ecx, [esp + 0x9c]
lea edx, [esp + 0x78]
lea eax, [esp + 0x30]
push 0x8000
push edi
push ecx
push edx
push eax
call fcn.004935d0
add esp, 0x14
cmp dword [esp + 0x30], 0
je 0x49998f
mov eax, dword [esp + 0x38]
movsd xmm0, qword [esp + 0x30]
mov dword [esp + 0x18], eax
movsd qword [esp + 0x10], xmm0
jmp 0x4999b2
dec eax
mov word [esp + 0x30], 2
mov dword [esp + 0x34], 0x59e691
mov dword [esp + 0x38], 2
mov word [esp + 0x3c], 0
test dl, dl
mov ecx, str.e0E0assertion_failed:_buf.len_____ndigits__buf.len_____maxlen
mov edx, 3
mov dword [esp + 0x40], eax
mov eax, 0x59e72e
mov word [esp + 0x48], 2
cmovne ecx, eax
lea eax, [esp + 0x30]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], 2
jmp 0x4999d5
lea eax, [esp + 0x10]
push 0x8000
push edi
lea ecx, [esp + 0xa4]
push ecx
lea ecx, [esp + 0x84]
push ecx
push eax
call fcn.00491eb0
add esp, 0x14
movzx eax, byte [ebp + 0xc]
push 6
lea ecx, [esp + 0x34]
push ecx
push eax
push dword [ebp + 8]
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x28]
call fcn.00493ef0
add esp, 0x1c
mov ecx, dword [esp + 4]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
lea edx, [esp + 0x10]
call fcn.0049b640
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x59e71c
push 0x1d
push 0x59e6fd
call fcn.00497b20
mov bl, 2
jmp 0x4997a0
push 0x59e770
push 0x3d
push 0x59e730
call fcn.00497b20
push 0x59e780
push 0x400
push edi
call fcn.0049d4b0
nop word cs:[eax + eax]
nop dword [eax]