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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
push edi
mov edi, dword [ebx + 4]
mov eax, dword [esi + 0x18]
mov dword [esi + 0x34], edi
mov eax, dword [eax + 0xc]
mov dword [esi + 0x38], eax
cmp edi, dword [esi + 0xa8]
je 0x4183fe
mov ecx, dword [esi + 0xa4]
test ecx, ecx
je 0x4183e1
movzx eax, byte [ecx - 1]
sub ecx, eax
push ecx
call fcn.00452a51
add esp, 4
test edi, edi
jle 0x4183f4
mov ecx, edi
call fcn.0041b240
mov dword [esi + 0xa4], eax
jmp 0x4183fe
mov dword [esi + 0xa4], 0
mov dword [esi + 0xa8], edi
mov edi, dword [esi + 0x34]
cmp edi, dword [esi + 0xb0]
je 0x418445
mov ecx, dword [esi + 0xac]
test ecx, ecx
je 0x418428
movzx eax, byte [ecx - 1]
sub ecx, eax
push ecx
call fcn.00452a51
add esp, 4
test edi, edi
jle 0x41843b
mov ecx, edi
call fcn.0041b240
mov dword [esi + 0xac], eax
jmp 0x418445
mov dword [esi + 0xac], 0
mov dword [esi + 0xb0], edi
mov edi, dword [esi + 0x34]
cmp edi, dword [esi + 0xb8]
je 0x41848c
mov ecx, dword [esi + 0xb4]
test ecx, ecx
je 0x41846f
movzx eax, byte [ecx - 1]
sub ecx, eax
push ecx
call fcn.00452a51
add esp, 4
test edi, edi
jle 0x418482
mov ecx, edi
call fcn.0041b240
mov dword [esi + 0xb4], eax
jmp 0x41848c
mov dword [esi + 0xb4], 0
mov dword [esi + 0xb8], edi
mov edi, dword [esi + 0x38]
cmp edi, dword [esi + 0xc0]
je 0x4184d3
mov ecx, dword [esi + 0xbc]
test ecx, ecx
je 0x4184b6
movzx eax, byte [ecx - 1]
sub ecx, eax
push ecx
call fcn.00452a51
add esp, 4
test edi, edi
jle 0x4184c9
mov ecx, edi
call fcn.0041b240
mov dword [esi + 0xbc], eax
jmp 0x4184d3
mov dword [esi + 0xbc], 0
mov dword [esi + 0xc0], edi
mov edi, dword [esi + 0x38]
cmp edi, dword [esi + 0x20]
je 0x41850e
mov ecx, dword [esi + 0x1c]
test ecx, ecx
je 0x4184f7
movzx eax, byte [ecx - 1]
sub ecx, eax
push ecx
call fcn.00452a51
add esp, 4
test edi, edi
jle 0x418507
mov ecx, edi
call fcn.0041b240
mov dword [esi + 0x1c], eax
jmp 0x41850e
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], edi
mov ecx, dword [esi + 0x38]
mov edi, dword [esi + 0x34]
test ecx, ecx
je 0x41852f
test edi, edi
je 0x41852f
mov eax, accept
cdq
idiv edi
cmp ecx, eax
jg 0x4186fc
push edi
push ecx
imul ecx, edi
push ecx
mov ecx, esi
call fcn.00419c60
cmp byte [esi + 0x98], 0
jne 0x41857d
mov edi, dword [esi + 0x34]
cmp edi, dword [esi + 0x30]
je 0x41857a
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x418563
movzx eax, byte [ecx - 1]
sub ecx, eax
push ecx
call fcn.00452a51
add esp, 4
test edi, edi
jle 0x418573
mov ecx, edi
call fcn.0041b240
mov dword [esi + 0x2c], eax
jmp 0x41857a
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], edi
mov edi, dword [esi + 0x34]
cmp edi, dword [esi + 0x28]
je 0x4185b2
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x41859b
movzx eax, byte [ecx - 1]
sub ecx, eax
push ecx
call fcn.00452a51
add esp, 4
test edi, edi
jle 0x4185ab
mov ecx, edi
call fcn.0041b240
mov dword [esi + 0x24], eax
jmp 0x4185b2
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], edi
mov edx, dword [esi + 0x34]
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], 0
test edx, edx
jle 0x4186e7
cmp dword [esi + 0x38], edx
jl 0x4186e7
xorps xmm0, xmm0
comisd xmm0, xmmword [esi + 0x68]
ja 0x4186e7
comisd xmm0, xmmword [esi + 0x70]
ja 0x4186e7
comisd xmm0, xmmword [esi + 0x78]
ja 0x4186e7
cmp dword [esi + 0x60], 0
jle 0x4186e7
comisd xmm0, xmmword [esi + 0x58]
jae 0x4186e7
cmp byte [esi + 0x98], 0
je 0x418630
mov eax, dword [esi + 0x2c]
xor ecx, ecx
nop
comisd xmm0, xmmword [eax + ecx*8]
jae 0x4186e7
inc ecx
cmp ecx, edx
jl 0x418620
mov ecx, dword [esi + 0x18]
lea eax, [esi + 0x1c]
push eax
push ebx
mov dword [esi + 0x3c], 1
call fcn.00417ed0
test eax, eax
jns 0x418656
mov eax, 9
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [esi + 0x20], 1
lea ecx, [esi + 0x1c]
jne 0x41866c
mov eax, dword [ecx]
movsd xmm0, qword [eax]
call fcn.00402ff0
jmp 0x4186bf
movsd xmm0, qword [0x530d98]
lea eax, [esp + 0x20]
push eax
xorps xmm1, xmm1
movsd qword [esp + 0x24], xmm0
lea eax, [esp + 0x1c]
movsd qword [esp + 0x1c], xmm1
push eax
lea edx, [esp + 0x18]
movsd qword [esp + 0x18], xmm1
call fcn.0041ddd0
movsd xmm0, qword [esp + 0x18]
xorps xmm1, xmm1
add esp, 8
ucomisd xmm1, xmm0
ja 0x4186b4
sqrtsd xmm0, xmm0
jmp 0x4186b9
call fcn.00507870
mulsd xmm0, qword [esp + 0x18]
movsd qword [esi + 0x48], xmm0
mov eax, 0xfffffffe
xorps xmm0, xmm0
mov dword [esi + 0x88], 1
movsd qword [esi + 0xc8], xmm0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
pop edi
mov dword [esi + 0xd4], 3
xor eax, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
call fcn.00417e70
int3