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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x16c
mov eax, dword [0x54a2b0]
push ebx
push esi
push edi
mov dword [esp + 0x174], eax
mov esi, ecx
call fcn.004c2c61
cdq
mov ecx, 0x50
idiv ecx
sub edx, 0x28
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x14]
call fcn.004c2c61
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
xor ebx, ebx
sub edx, 0x32
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x10], eax
mov eax, ecx
fild dword [esp + 0x10]
cdq
sub eax, edx
sar eax, 1
fadd dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov ecx, 0x1e
xor edx, edx
fstp dword [esi + 0x3eef8]
fild dword [esp + 0x14]
fadd st(1)
fstp dword [esi + 0x3eefc]
mov dword [esi + 0x3eef0], ebx
fstp st(0)
cmp edx, 0xc8
jge 0x4624b8
mov eax, dword [esi + 0x3eef0]
lea eax, [eax + eax*4]
mov dword [esi + eax*8 + 0x20], ecx
mov eax, dword [esi + 0x3eef0]
lea eax, [eax + eax*4]
mov dword [esi + eax*8 + 0x24], ebx
mov eax, dword [esi + 0x3eef0]
lea eax, [eax + eax*4]
mov byte [esi + eax*8 + 0x30], bl
mov eax, dword [esi + 0x3eef0]
lea eax, [eax + eax*4]
mov byte [esi + eax*8 + 0x31], bl
inc dword [esi + 0x3eef0]
mov eax, dword [esi + 0x14]
add ecx, 0x3c
inc edx
cmp ecx, eax
jl 0x462476
mov ecx, 0x1e
xor edx, edx
lea ebx, [ebx]
cmp edx, 0xc8
jge 0x462512
mov eax, dword [esi + 0x3eef0]
lea eax, [eax + eax*4]
mov dword [esi + eax*8 + 0x20], ebx
mov eax, dword [esi + 0x3eef0]
lea eax, [eax + eax*4]
mov dword [esi + eax*8 + 0x24], ecx
mov eax, dword [esi + 0x3eef0]
lea eax, [eax + eax*4]
mov byte [esi + eax*8 + 0x30], bl
mov eax, dword [esi + 0x3eef0]
lea eax, [eax + eax*4]
mov byte [esi + eax*8 + 0x31], bl
inc dword [esi + 0x3eef0]
mov eax, dword [esi + 0x18]
add ecx, 0x3c
inc edx
cmp ecx, eax
jl 0x4624d0
cmp dword [esi + 0x3eef0], ebx
mov dword [esp + 0x10], ebx
jle 0x4627c3
lea edi, [esi + 0x28]
fild dword [edi - 8]
sub esp, 0x28
fild dword [edi - 4]
lea ecx, [esp + 0x78]
fld dword [esi + 0x3eef8]
fld dword [esi + 0x3eefc]
fstp qword [esp + 0x58]
fstp qword [esp + 0x68]
fstp qword [esp + 0x70]
fstp qword [esp + 0x60]
fld qword [esp + 0x58]
fstp qword [esp + 0x20]
fld qword [esp + 0x68]
fstp qword [esp + 0x18]
fld qword [esp + 0x70]
fstp qword [esp + 0x10]
fld qword [esp + 0x60]
fstp qword [esp + 8]
fld qword [0x52cad0]
fstp qword [esp]
push ecx
mov ecx, esi
call fcn.00461a00
fstp qword [esp + 0x18]
fld qword [esp + 0x30]
mov eax, dword [esi + 0x18]
sub esp, 0x28
fstp qword [esp + 0x20]
dec eax
fld qword [esp + 0x68]
mov dword [esp + 0x3c], eax
fstp qword [esp + 0x18]
lea edx, [esp + 0x80]
fld qword [esp + 0x70]
mov ecx, esi
fstp qword [esp + 0x10]
fld qword [esp + 0x60]
fstp qword [esp + 8]
fild dword [esp + 0x3c]
fstp qword [esp]
push edx
call fcn.00461a00
fstp qword [esp + 0x28]
fld qword [esp + 0x30]
sub esp, 0x28
fstp qword [esp + 0x20]
lea eax, [esp + 0x88]
fld qword [esp + 0x68]
mov ecx, esi
fstp qword [esp + 0x18]
fld qword [esp + 0x70]
fstp qword [esp + 0x10]
fld qword [esp + 0x60]
fstp qword [esp + 8]
fld qword [0x52cad0]
fstp qword [esp]
push eax
call fcn.00461aa0
fstp qword [esp + 0x20]
fld qword [esp + 0x30]
mov eax, dword [esi + 0x14]
sub esp, 0x28
fstp qword [esp + 0x20]
dec eax
fld qword [esp + 0x68]
mov dword [esp + 0x3c], eax
fstp qword [esp + 0x18]
lea ecx, [esp + 0x90]
fld qword [esp + 0x70]
fstp qword [esp + 0x10]
fld qword [esp + 0x60]
fstp qword [esp + 8]
fild dword [esp + 0x3c]
fstp qword [esp]
push ecx
mov ecx, esi
call fcn.00461aa0
fld qword [0x52cad0]
fld qword [esp + 0x18]
fucompp
fnstsw ax
test ah, 0x44
jp 0x462670
fld qword [0x501ed0]
fstp qword [esp + 0x18]
fld qword [0x52cad0]
fld qword [esp + 0x28]
fucompp
fnstsw ax
test ah, 0x44
jp 0x46268d
fld qword [0x501ed0]
fstp qword [esp + 0x28]
fld qword [0x52cad0]
fld qword [esp + 0x20]
fucompp
fnstsw ax
test ah, 0x44
jp 0x4626aa
fld qword [0x501ed0]
fstp qword [esp + 0x20]
fld qword [0x52cad0]
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x4626c3
fstp st(0)
fld qword [0x501ed0]
fld qword [esp + 0x18]
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 0x41
jp 0x4626fc
fld qword [esp + 0x18]
fcomp qword [esp + 0x20]
fnstsw ax
test ah, 0x41
jp 0x4626fc
fld qword [esp + 0x18]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x4626fc
fld qword [esp + 0x50]
call fcn.004c2ba0
mov dword [edi], eax
mov dword [edi + 4], ebx
fld qword [esp + 0x28]
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 0x41
jp 0x462739
fld qword [esp + 0x28]
fcomp qword [esp + 0x20]
fnstsw ax
test ah, 0x41
jp 0x462739
fld qword [esp + 0x28]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x462739
fld qword [esp + 0x58]
call fcn.004c2ba0
mov dword [edi], eax
mov edx, dword [esi + 0x18]
dec edx
mov dword [edi + 4], edx
fld qword [esp + 0x20]
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 0x41
jp 0x462772
fld qword [esp + 0x20]
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 0x41
jp 0x462772
fld qword [esp + 0x20]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x462772
fld qword [esp + 0x60]
mov dword [edi], ebx
call fcn.004c2ba0
mov dword [edi + 4], eax
fcom qword [esp + 0x18]
fnstsw ax
test ah, 0x41
jp 0x4627a7
fcom qword [esp + 0x20]
fnstsw ax
test ah, 0x41
jp 0x4627a7
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 0x41
jp 0x4627a9
mov eax, dword [esi + 0x14]
fld qword [esp + 0x68]
dec eax
mov dword [edi], eax
call fcn.004c2ba0
mov dword [edi + 4], eax
jmp 0x4627a9
fstp st(0)
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x3eef0]
inc eax
add edi, 0x28
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x462530
mov ecx, dword [esi + 0x3eef0]
push ecx
lea edx, [esp + 0x74]
push str.base_lines_made__d
push edx
call fcn.004c2e53
add esp, 0xc
mov ecx, esi
call fcn.00461fa0
mov ecx, dword [esp + 0x174]
call fcn.004c2e45
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret