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

Disassembly:
sub esp, 0x9c
movss xmm0, dword [0x10020330]
xor eax, eax
push ebx
push edi
mov edi, dword [esp + 0xa8]
push eax
push 1
push edi
mov dword [esp + 0x78], eax
mov dword [esp + 0x84], eax
movss dword [esp + 0x94], xmm0
call fcn.1000249c
push 0
mov ebx, eax
push 4
push edi
mov dword [esp + 0x2c], ebx
call fcn.1000249c
add esp, 0x18
mov dword [esp + 0x10], eax
test ebx, ebx
js 0x100031c5
test eax, eax
js 0x100031c5
push ebp
push esi
push dword [edi + 4]
push dword [edi]
call fcn.10008e4f
push dword [edi + 4]
mov ebx, eax
push dword [edi]
mov dword [esp + 0x5c], ebx
call fcn.10008e19
push 4
push ebx
mov dword [esp + 0x9c], eax
call fcn.1000da38
mov ebx, dword [esp + 0xe0]
mov esi, ebx
shl esi, 2
push esi
mov dword [esp + 0xa4], eax
call fcn.10010894
mov ebp, eax
push esi
mov dword [esp + 0x80], ebp
call fcn.10010894
push esi
mov dword [esp + 0x6c], eax
call fcn.10010894
mov esi, eax
push ebp
push ebx
mov dword [esp + 0x84], esi
call fcn.1000299c
add esp, 0x2c
test ebx, ebx
jle 0x10002b3d
mov edx, dword [esp + 0x48]
mov ecx, ebp
mov edi, dword [esp + 0xd0]
sub edx, ebp
sub esi, ebp
mov ebp, ebx
mov ebx, dword [esp + 0xcc]
mov eax, dword [ecx]
mov eax, dword [ebx + eax*4]
mov dword [ecx + edx], eax
mov eax, dword [ecx]
mov eax, dword [edi + eax*4]
mov dword [esi + ecx], eax
lea ecx, [ecx + 4]
sub ebp, 1
jne 0x10002b13
mov edi, dword [esp + 0xb0]
mov ebx, dword [esp + 0xc8]
mov ebp, dword [esp + 0x60]
mov eax, dword [esp + 0x4c]
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
shl eax, 2
push eax
mov dword [esp + 0xa0], eax
mulss xmm0, dword [esp + 0xc8]
cvttss2si esi, xmm0
sub ebx, esi
mov dword [esp + 0x90], esi
mov dword [esp + 0xcc], ebx
call fcn.10010894
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x88]
shl eax, 2
push eax
mov dword [esp + 0xa8], eax
call fcn.10010894
mov ecx, dword [esp + 0x24]
imul ecx, dword [esp + 0xc0]
mov dword [esp + 0x58], eax
shl ecx, 2
push ecx
call fcn.10010894
mov ecx, dword [esp + 0x24]
imul ecx, dword [esp + 0xc4]
mov dword [esp + 0x50], eax
shl ecx, 2
push ecx
call fcn.10010894
mov dword [esp + 0x50], eax
lea eax, [esp + 0x54]
push eax
push 0
push 1
push edi
call fcn.10002441
lea eax, [esp + 0x60]
push eax
push 0
push 4
push edi
call fcn.10002441
xor eax, eax
add esp, 0x30
mov dword [esp + 0x20], eax
cmp dword [esp + 0xbc], eax
jle 0x10003172
movsd xmm1, qword [0x10020290]
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [esp + 0xa4], xmm1
xorps xmm0, xmm0
mov dword [esp + 0x3c], eax
push ebp
push ebx
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x74], eax
movsd qword [esp + 0x9c], xmm0
movsd qword [esp + 0x80], xmm0
call fcn.1000299c
push 1
push edi
call fcn.100029f5
add esp, 0x10
test ebx, ebx
jle 0x10002e00
mov esi, dword [esp + 0xb8]
mov eax, ebx
sub eax, dword [esp + 0x3c]
cmp eax, esi
cmovl esi, eax
xor eax, eax
mov dword [esp + 0x38], esi
mov dword [esp + 0x10], eax
test esi, esi
jle 0x10002d55
mov ecx, dword [esp + 0x1c]
mov edx, eax
mov ebx, dword [esp + 0x3c]
mov edi, esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
shl eax, 2
shl ecx, 2
mov dword [esp + 0x30], 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x5c], ecx
push ecx
mov ecx, dword [esp + 0x4c]
lea esi, [edx + ebx*4]
mov eax, dword [esi + ebp]
push dword [ecx + eax*4]
mov eax, dword [esp + 0x30]
add eax, dword [esp + 0x4c]
push eax
call fcn.1000b5c0
mov ecx, dword [esp + 0x24]
mov eax, dword [esi + ebp]
shl ecx, 2
push ecx
mov ecx, dword [esp + 0x68]
push dword [ecx + eax*4]
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0x54]
push eax
call fcn.1000b5c0
mov ecx, dword [esp + 0x74]
add esp, 0x18
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
inc edx
mov esi, dword [esp + 0x34]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x1c]
shl ebp, 2
shl ecx, 2
add dword [esp + 0x5c], ecx
mov dword [esp + 0x14], eax
add eax, 4
mov dword [esp + 0x2c], esi
add esi, ebp
mov ebp, dword [esp + 0x60]
cmp edx, edi
mov dword [esp + 0x24], edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], esi
jl 0x10002cb0
mov edi, dword [esp + 0xb0]
mov ebx, dword [esp + 0xc8]
mov esi, dword [esp + 0x38]
push esi
push dword [edi + 4]
push dword [edi]
call fcn.10008e93
push 1
push 0
push edi
call fcn.100023aa
movd xmm0, esi
lea eax, [esp + 0x28]
cvtdq2ps xmm0, xmm0
push eax
push edi
fstp dword [esp + 0x34]
movss xmm1, dword [esp + 0x34]
mulss xmm1, xmm0
cvtps2pd xmm0, xmm1
addsd xmm0, qword [esp + 0xb4]
movsd qword [esp + 0xb4], xmm0
call fcn.100021be
add dword [esp + 0x88], eax
add esp, 0x20
movss xmm0, dword [esp + 0xb4]
mov eax, dword [esp + 0x64]
add eax, dword [esp + 0x10]
push dword [esp + 0x88]
mov dword [esp + 0x68], eax
push dword [edi + 8]
push dword [edi + 0xc]
push ecx
mov dword [esp], 0x3f666666
push 0
push ecx
movss dword [esp], xmm0
push dword [esp + 0x64]
call fcn.100020c1
mov eax, dword [esp + 0x58]
add esp, 0x1c
add eax, esi
mov dword [esp + 0x3c], eax
cmp eax, ebx
jl 0x10002c5a
mov esi, dword [esp + 0x8c]
movsd xmm0, qword [esp + 0xa4]
mulsd xmm0, qword [esp + 0x94]
push 0
push edi
movsd qword [esp + 0x9c], xmm0
call fcn.100029f5
pop ecx
pop ecx
xor ecx, ecx
mov dword [esp + 0x24], ecx
test esi, esi
jle 0x10002f9c
mov ebp, dword [esp + 0xb8]
mov eax, esi
sub eax, ecx
cmp eax, ebp
cmovl ebp, eax
xor eax, eax
mov dword [esp + 0x10], eax
test ebp, ebp
jle 0x10002f0e
lea edx, [ecx + ebx]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x1c]
mov ebx, eax
mov esi, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x18]
shl eax, 2
shl ecx, 2
mov edi, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x30], 4
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x48]
lea esi, [esi + edx*4]
push ecx
push dword [esi + eax]
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0x4c]
push eax
call fcn.1000b5c0
mov eax, dword [esp + 0x64]
push edi
push dword [esi + eax]
mov eax, dword [esp + 0x48]
add eax, dword [esp + 0x54]
push eax
call fcn.1000b5c0
mov esi, dword [esp + 0x44]
add esp, 0x18
mov edx, dword [esp + 0x28]
inc ebx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
shl ecx, 2
mov dword [esp + 0x38], esi
add esi, ecx
mov dword [esp + 0x34], edx
add edx, edi
mov dword [esp + 0x14], eax
add eax, 4
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x30], eax
cmp ebx, ebp
jl 0x10002e84
mov edi, dword [esp + 0xb0]
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xc8]
push ebp
push dword [edi + 4]
push dword [edi]
call fcn.10008e93
push 0
push 0
push edi
call fcn.100023aa
movd xmm0, ebp
lea eax, [esp + 0x28]
cvtdq2ps xmm0, xmm0
push eax
push edi
fstp dword [esp + 0x34]
movss xmm1, dword [esp + 0x34]
mulss xmm1, xmm0
cvtps2pd xmm0, xmm1
addsd xmm0, qword [esp + 0x98]
movsd qword [esp + 0x98], xmm0
call fcn.100021be
add dword [esp + 0x90], eax
add esp, 0x20
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x6c]
add ecx, ebp
add eax, dword [esp + 0x10]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x24], ecx
cmp ecx, esi
jl 0x10002e33
movsd xmm1, qword [esp + 0x78]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mov ebp, dword [esp + 0x60]
divsd xmm1, xmm0
movsd qword [esp + 0x78], xmm1
cmp dword [section..data], 3
jl 0x10003094
movsd xmm0, qword [esp + 0x94]
mov eax, dword [esp + 0x20]
push ecx
push ecx
movsd qword [esp], xmm0
inc eax
push eax
push str.epoch:__d__training_cost:__g
push 2
call fcn.1000c618
pop ecx
push eax
call fcn.100017c8
add esp, 0x14
cmp dword [esp + 0x64], 0
je 0x10003018
movd xmm1, dword [esp + 0x68]
cvtdq2ps xmm1, xmm1
push ecx
push ecx
movd xmm0, ebx
mulss xmm1, dword [0x1002032c]
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
push str.__class_error:__.2f___
push 2
call fcn.1000c618
pop ecx
push eax
call fcn.100017c8
add esp, 0x10
test esi, esi
jle 0x10003082
movsd xmm0, qword [esp + 0x78]
push ecx
push ecx
movsd qword [esp], xmm0
push str.__validation_cost:__g
push 2
call fcn.1000c618
pop ecx
push eax
call fcn.100017c8
add esp, 0x10
cmp dword [esp + 0x6c], 0
je 0x10003082
movd xmm1, dword [esp + 0x70]
cvtdq2ps xmm1, xmm1
push ecx
push ecx
movd xmm0, esi
mulss xmm1, dword [0x1002032c]
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
push str.__class_error:__.2f___
push 2
call fcn.1000c618
pop ecx
push eax
call fcn.100017c8
add esp, 0x10
push 2
call fcn.1000c618
push eax
push 0xa
call fcn.10010c62
add esp, 0xc
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0xc0]
jl 0x10003125
test esi, esi
jle 0x10003125
movss xmm0, dword [esp + 0x90]
cvtps2pd xmm0, xmm0
comisd xmm0, xmmword [esp + 0x78]
jbe 0x10003113
push dword [esp + 0x9c]
mov dword [esp + 0x84], 1
push dword [edi + 8]
push dword [esp + 0x5c]
call fcn.1000b5c0
push dword [esp + 0xac]
push dword [edi + 0x10]
push dword [esp + 0x64]
call fcn.1000b5c0
movsd xmm0, qword [esp + 0x90]
add esp, 0x18
cvtpd2ps xmm0, xmm0
xor eax, eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x20]
movss dword [esp + 0x90], xmm0
jmp 0x10003125
mov ecx, dword [esp + 0x74]
inc ecx
mov dword [esp + 0x74], ecx
cmp ecx, dword [esp + 0xc0]
jge 0x1000313a
inc eax
cmp eax, dword [esp + 0xbc]
push 0
mov dword [esp + 0x24], eax
pop eax
jl 0x10002c17
cmp dword [esp + 0x80], 0
je 0x10003172
mov eax, dword [esp + 0x4c]
shl eax, 2
push eax
push dword [esp + 0x58]
push dword [edi + 8]
call fcn.1000b5c0
mov eax, dword [esp + 0x90]
shl eax, 2
push eax
push dword [esp + 0x60]
push dword [edi + 0x10]
call fcn.1000b5c0
add esp, 0x18
push dword [esp + 0x50]
call fcn.1001088f
push dword [esp + 0x58]
call fcn.1001088f
push dword [esp + 0x48]
call fcn.1001088f
push dword [esp + 0x50]
call fcn.1001088f
push dword [esp + 0x68]
call fcn.1001088f
push dword [esp + 0x5c]
call fcn.1001088f
push ebp
call fcn.1001088f
push dword [esp + 0xa4]
call fcn.1001088f
mov eax, dword [esp + 0x40]
add esp, 0x20
pop esi
pop ebp
jmp 0x100031c8
or eax, 0xffffffff
pop edi
pop ebx
add esp, 0x9c
ret