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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push edi
push esi
push ebx
sub esp, 0x1dc
mov esi, dword [ebp + 8]
mov eax, dword [0x482908]
mov dword [esp + 0x1d8], eax
xor edx, edx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], edx
mov dword [0x483cc0], 0
lea eax, [esp + 0x88]
push eax
push esi
call fcn.0040b22c
lea eax, [esp + 0x198]
push eax
push esi
call fcn.0040b310
lea eax, [esp + 0x190]
push eax
push esi
call fcn.0040b2d0
lea eax, [esp + 0x180]
push eax
push esi
call fcn.0040b1d8
add esp, 0x20
fldz
fld st(0)
mov dword [esp + 0x10], esi
xor edx, edx
xor eax, eax
mov dword [esp + 0x1d0], eax
mov ebx, eax
mov edi, 0xfffffff2
jmp 0x4010e9
faddp st(1)
mov ecx, dword [esp + edi*4 + 0x1c8]
mov esi, dword [edi*4 + 0x483cc0]
imul esi, ecx
mov dword [esp + 0x1c8], esi
fild dword [esp + 0x1c8]
add ebx, ecx
cmp ecx, eax
lea esi, [edx + 1]
jl 0x401113
mov eax, ecx
test ecx, ecx
je 0x401119
mov edx, esi
add edi, 1
jne 0x4010e7
faddp st(1)
mov esi, dword [esp + 0x10]
fstp qword [esp + 8]
fstp dword [esp + 0x14]
mov dword [esp + 0x1d0], ebx
xor edi, edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, dword [esp + edi*4 + 0x190]
test esi, esi
je 0x401317
mov eax, dword [esp + 0x18]
cmp eax, 1
jle 0x401317
mov eax, dword [esp + ebx + 0x88]
mov edx, dword [esp + 0x1d0]
mov dword [esp + 0x38], eax
cmp edx, 0x5f5e100
jb 0x40118c
mov ecx, edx
mov eax, 0x55e63b89
mul ecx
mov ecx, 9
shr edx, 0x19
jmp 0x401191
mov ecx, 1
cmp edx, 0x2710
jb 0x4011a6
add ecx, 4
mov eax, 0xd1b71759
mul edx
shr edx, 0xd
cmp edx, 0x64
jb 0x4011b8
mov eax, 0x51eb851f
mul edx
add ecx, 2
shr edx, 5
lea eax, [ecx + 1]
cmp edx, 0xa
mov edx, dword [esp + 0x30]
jae 0x4011c6
mov eax, ecx
add eax, 8
mov dword [esp + 0x1d4], eax
test edx, edx
je 0x401215
mov ecx, eax
mov dword [esp + 0x2c], ebx
mov ebx, dword [0x49e898]
mov dword [esp + 0x3c], esi
neg ecx
lea eax, [ebx + ecx]
imul eax, esi
add ebx, ecx
imul ebx, dword [esp + 0x38]
mov esi, edx
lea eax, [eax + esi - 1]
cdq
idiv esi
mov dword [esp + 0x34], eax
lea eax, [ebx + esi - 1]
mov ebx, dword [esp + 0x2c]
cdq
idiv esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x38], eax
jmp 0x40121f
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x1d0]
cmp edx, 0x5f5e100
jb 0x401241
mov ecx, edx
mov eax, 0x55e63b89
mul ecx
mov ecx, 9
shr edx, 0x19
jmp 0x401246
mov ecx, 1
cmp edx, 0x2710
jb 0x40125b
add ecx, 4
mov eax, 0xd1b71759
mul edx
shr edx, 0xd
cmp edx, 0x64
jb 0x40126d
mov eax, 0x51eb851f
mul edx
add ecx, 2
shr edx, 5
lea eax, [ecx + 1]
cmp edx, 0xa
lea edx, [esp + 0x1c]
push esi
jae 0x40127c
mov eax, ecx
push eax
push str.___i_
push edx
call fcn.004464f6
add esp, 0x10
mov eax, dword [esp + 0x34]
movsx edx, byte [0x49e8aa]
sub eax, dword [esp + 0x38]
test edx, edx
je 0x4012ce
lea edx, [esp + 0x1c]
push 0x49e8aa
push 0x483cc4
push eax
push 0x483ec5
mov eax, dword [esp + 0x48]
push eax
push edx
push dword [edi*4 + 0x483c88]
push 0x45a248
call fcn.00401c30
add esp, 0x20
jmp 0x40130e
mov edx, dword [0x49e898]
sub edx, dword [esp + 0x1d4]
lea ecx, [esp + 0x1c]
sub edx, dword [esp + 0x34]
push 0x45a270
push edx
push 0x483cc4
push eax
push 0x483ec5
mov eax, dword [esp + 0x4c]
push eax
push ecx
push dword [edi*4 + 0x483c88]
push str._n_3d_s__.s_.s_s
call fcn.00401c30
add esp, 0x24
add dword [0x483cc0], 1
jmp 0x40132b
cmp edi, dword [0x483c80]
jl 0x40132b
cmp edi, dword [0x483c84]
jle 0x40115f
add ebx, 0x10
add edi, 1
cmp edi, 0xe
jl 0x401143
fld qword [esp + 8]
fld dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x180]
mov eax, dword [esp + 0x184]
mov edx, dword [esp + 0x188]
mov ebx, dword [esp + 0x1d0]
add eax, ecx
add eax, edx
add eax, dword [esp + 0x18c]
test ebx, ebx
jle 0x4013a7
mov dword [esp + 0x1c8], ebx
fild dword [esp + 0x1c8]
fdiv st(2), st(0)
fxch st(2)
fstp qword [esp + 0x40]
sub ebx, eax
mov dword [esp + 0x1c8], ebx
fild dword [esp + 0x1c8]
fmul qword [0x45a1d0]
fdivrp st(2)
fxch st(1)
fst qword [esp + 0x48]
fxch st(1)
fstp st(1)
test eax, eax
jle 0x4013f1
fstp qword [esp + 0x50]
fld qword [0x45a1d0]
mov dword [esp + 0x1c8], eax
fild dword [esp + 0x1c8]
mov dword [esp + 0x1c8], ecx
fild dword [esp + 0x1c8]
fmul st(2)
fdiv st(1)
mov dword [esp + 0x1c8], edx
fild dword [esp + 0x1c8]
fmul st(3)
fdivrp st(2)
fstp qword [esp + 0x58]
fstp qword [esp + 0x60]
fstp st(0)
mov eax, dword [esp + 0x17c]
test eax, eax
jle 0x40146a
fild dword [esp + 0x168]
fild dword [esp + 0x170]
fild dword [esp + 0x178]
fld qword [0x45a1d0]
fmul st(3), st(0)
fmul st(2), st(0)
fmul st(1), st(0)
mov dword [esp + 0x1c8], eax
fild dword [esp + 0x1c8]
fdiv st(4), st(0)
mov eax, dword [esp + 0x16c]
add eax, dword [esp + 0x174]
fdiv st(3), st(0)
fdiv st(2), st(0)
fxch st(4)
fstp qword [esp + 0x68]
fxch st(2)
fstp qword [esp + 0x78]
fstp qword [esp + 0x80]
mov dword [esp + 0x1c8], eax
fild dword [esp + 0x1c8]
fmulp st(1)
fdivrp st(1)
fstp qword [esp + 0x70]
push esi
call fcn.0040e31c
mov ebx, eax
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
push esi
call fcn.0040e398
mov edi, eax
push esi
call fcn.0040e9d4
add esp, 0xc
mov edx, dword [esp + 0x1d0]
cmp edx, ebx
jl 0x4014a6
mov ebx, edx
test eax, eax
jle 0x4014e3
mov edx, ebx
sub edx, dword [esp + 0x1d0]
mov dword [esp + 0x1c8], edx
fild dword [esp + 0x1c8]
mov dword [esp + 0x1c8], edi
fild dword [esp + 0x1c8]
fmulp st(1)
mov dword [esp + 0x1c8], eax
fild dword [esp + 0x1c8]
fdivp st(1)
jmp 0x4014e5
fldz
fld dword [0x45a1d8]
fdivr st(1)
fnstcw word [esp + 0x30]
movzx eax, word [esp + 0x30]
or eax, 0xc00
mov dword [esp + 0x38], eax
fldcw word [esp + 0x38]
fistp qword [esp + 0x1c8]
fldcw word [esp + 0x30]
fld dword [0x45a1dc]
mov esi, dword [esp + 0x1c8]
imul edi, esi, 0xe10
mov dword [esp + 0x1c8], edi
fild dword [esp + 0x1c8]
shr edi, 0x1f
fadd qword [edi*8 + 0x45a1c0]
fsubp st(2)
fdivr st(1)
fnstcw word [esp + 0x30]
movzx eax, word [esp + 0x30]
or eax, 0xc00
mov dword [esp + 0x38], eax
fldcw word [esp + 0x38]
fistp qword [esp + 0x1c8]
fldcw word [esp + 0x30]
mov edi, dword [esp + 0x1c8]
mov eax, edi
shl eax, 2
mov edx, edi
shl edx, 6
sub edx, eax
mov dword [esp + 0x1c8], edx
fild dword [esp + 0x1c8]
shr edx, 0x1f
fadd qword [edx*8 + 0x45a1c0]
fsubp st(1)
fnstcw word [esp + 0x30]
movzx eax, word [esp + 0x30]
or eax, 0xc00
mov dword [esp + 0x38], eax
fldcw word [esp + 0x38]
fistp qword [esp + 0x1c8]
fldcw word [esp + 0x30]
test ebx, ebx
mov ecx, dword [esp + 0x1c8]
je 0x401727
test esi, esi
jbe 0x4016ab
cmp esi, 0x5f5e100
mov edx, esi
jb 0x4015e5
mov eax, 0x55e63b89
mul esi
mov eax, 9
mov dword [esp + 0x1d4], eax
shr edx, 0x19
jmp 0x4015f1
mov eax, 1
mov dword [esp + 0x1d4], eax
cmp edx, 0x2710
jb 0x40160b
add dword [esp + 0x1d4], 4
mov eax, 0xd1b71759
mul edx
shr edx, 0xd
cmp edx, 0x64
jb 0x401622
add dword [esp + 0x1d4], 2
mov eax, 0x51eb851f
mul edx
shr edx, 5
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x1d4]
lea eax, [ebx + 1]
cmp edx, 0xa
jae 0x401637
mov eax, ebx
lea edx, [esp + 8]
push ecx
push edi
push esi
push eax
push str._d:_02u:_02u
push edx
mov ebx, dword [esp + 0x54]
call fcn.004464f6
add esp, 0x18
cmp esi, 0x5f5e100
jb 0x40166c
mov eax, 0x55e63b89
mul esi
mov ecx, 9
mov esi, edx
shr esi, 0x19
jmp 0x401671
mov ecx, 1
cmp esi, 0x2710
jb 0x401688
add ecx, 4
mov eax, 0xd1b71759
mul esi
mov esi, edx
shr esi, 0xd
cmp esi, 0x64
jb 0x40169c
mov eax, 0x51eb851f
mul esi
add ecx, 2
mov esi, edx
shr esi, 5
lea edi, [ecx + 1]
cmp esi, 0xa
jae 0x4016a6
mov edi, ecx
add edi, 7
jmp 0x4016c4
lea eax, [esp + 8]
push ecx
push edi
push str._02u:_02u
push eax
call fcn.004464f6
add esp, 0x10
mov edi, 6
mov esi, dword [0x49e898]
mov ecx, edi
neg ecx
mov dword [esp + 0x2c], ecx
lea eax, [esi + ecx]
imul eax, ebx
lea eax, [eax + ebx - 1]
cdq
idiv ebx
add esi, dword [esp + 0x2c]
imul esi, dword [esp + 0x1d0]
mov ecx, eax
lea eax, [esi + ebx - 1]
cdq
idiv ebx
mov esi, ecx
mov ebx, eax
sub esi, ebx
jne 0x401732
lea eax, [esp + 8]
push 0x4840c6
lea edx, [edi - 1]
push edx
push str._.s
push eax
mov dword [esp + 0x1e4], ecx
call fcn.004464f6
mov ecx, dword [esp + 0x1e4]
add esp, 0x10
jmp 0x401732
mov edi, 1
xor esi, esi
xor ebx, ebx
xor ecx, ecx
movsx edx, byte [0x49e8aa]
test edx, edx
je 0x401762
lea eax, [esp + 8]
push 0x49e8aa
push 0x4842c7
push esi
push eax
push 0x4840c6
push ebx
push 0x45a298
call fcn.00401c30
add esp, 0x1c
jmp 0x401790
mov edx, dword [0x49e898]
lea eax, [esp + 8]
push 0x45a270
sub edx, ecx
sub edx, edi
push edx
push 0x4842c7
push esi
push eax
push 0x4840c6
push ebx
push str._n_.s_s_.s_s
call fcn.00401c30
add esp, 0x20
add dword [0x483cc0], 1
lea eax, [esp + 0x40]
call fcn.004017bc
mov ecx, dword [esp + 0x1d8]
call fcn.00446571
add esp, 0x1dc
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret