Function at 0x102350a0
Capabilities:
Terminate process

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x104170d1
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xd8
mov eax, dword [0x104e6584]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, 0x104f66fc
call fcn.1015f0d9
mov eax, dword [0x104e7304]
mov dword [ebp - 0x18], eax
push 0x340
call fcn.1015fc4b
add esp, 4
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x99]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x90], ecx
mov dword [ebp - 4], 0
cmp dword [ebp - 0x90], 0
je 0x10235149
mov edx, dword [ebx + 8]
push edx
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x90]
call fcn.101604c0
mov dword [ebp - 0xe8], eax
jmp 0x10235153
mov dword [ebp - 0xe8], 0
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + 0x14]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x18]
add eax, 0x197c
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xe8]
call fcn.1015caf0
movss xmm0, dword [0x10436344]
movss dword [ebp - 0xa4], xmm0
movss xmm0, dword [0x10436344]
movss dword [ebp - 0xa0], xmm0
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa0]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xb0]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0xac]
mov dword [edx + 0x10], ecx
mov eax, dword [ebx + 0x14]
and eax, 0x100
jne 0x102353a0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
push ecx
call fcn.1015e03a
add esp, 4
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x102353a0
mov eax, dword [ebp - 0x18]
add eax, 0x2c58
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xe8], ecx
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x20]
cmp eax, dword [edx + 8]
jb 0x10235252
mov ecx, dword [ebp - 0xe0]
imul edx, dword [ecx], 0x1c
mov eax, dword [ebp - 0xe0]
add edx, dword [eax + 8]
cmp dword [ebp - 0x20], edx
jbe 0x1023525a
push 0
call dword [sym.imp.ucrtbased.dll_exit]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x20]
sub eax, dword [ecx + 8]
cdq
mov ecx, 0x1c
idiv ecx
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xe8]
mov dword [eax + 0x270], ecx
push 0
push 4
mov eax, dword [ebp - 0x1c]
push eax
call fcn.10253620
add esp, 0xc
mov eax, dword [ebp - 0x20]
add eax, 8
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
cvttss2si edx, dword [ecx]
cvtsi2ss xmm0, edx
movss dword [ebp - 0x2c], xmm0
mov eax, dword [ebp - 0x28]
cvttss2si ecx, dword [eax + 4]
cvtsi2ss xmm0, ecx
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0xb8], xmm0
movss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0xb4], xmm0
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xc0]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov dl, byte [ecx + 0x18]
mov byte [eax + 0x7d], dl
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x34]
movss xmm0, dword [ecx + 4]
mulss xmm0, dword [edx + 4]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
movss xmm1, dword [eax]
mulss xmm1, dword [ecx]
addss xmm1, xmm0
comiss xmm1, dword [0x10436284]
jbe 0x102353a0
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
cvttss2si edx, dword [ecx]
cvtsi2ss xmm0, edx
movss dword [ebp - 0x3c], xmm0
mov eax, dword [ebp - 0x38]
cvttss2si ecx, dword [eax + 4]
cvtsi2ss xmm0, ecx
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [ebp - 0x3c]
movss dword [ebp - 0xc8], xmm0
movss xmm0, dword [ebp - 0x40]
movss dword [ebp - 0xc4], xmm0
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc4]
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], eax
cvttss2si eax, dword [ebx + 0xc]
cvtsi2ss xmm0, eax
movss dword [ebp - 0x44], xmm0
cvttss2si ecx, dword [ebx + 0x10]
cvtsi2ss xmm0, ecx
movss dword [ebp - 0x48], xmm0
movss xmm0, dword [ebp - 0x44]
movss dword [ebp - 0xd0], xmm0
movss xmm0, dword [ebp - 0x48]
movss dword [ebp - 0xcc], xmm0
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xd8]
mov dword [ecx + 0x24], edx
mov eax, dword [ebp - 0xd4]
mov dword [ecx + 0x28], eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x24]
mov eax, dword [ecx + 0x28]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x1c], edx
mov dword [ecx + 0x20], eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x1c]
mov ecx, dword [edx + 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xe0], ecx
mov dword [eax + 0xe4], edx
mov eax, dword [ebx + 0x14]
and eax, 0x40
je 0x1023546d
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x94], 2
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x90], 2
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x98], 0
jmp 0x102354dc
mov eax, dword [ebp - 0x1c]
xorps xmm0, xmm0
comiss xmm0, dword [eax + 0x14]
jb 0x10235486
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x90], 2
mov eax, dword [ebp - 0x1c]
xorps xmm0, xmm0
comiss xmm0, dword [eax + 0x18]
jb 0x1023549f
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x94], 2
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x90], 0
jg 0x102354c3
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + 0x94], 0
jg 0x102354c3
mov dword [ebp - 0xe8], 0
jmp 0x102354cd
mov dword [ebp - 0xe8], 1
mov edx, dword [ebp - 0x1c]
mov al, byte [ebp - 0xe8]
mov byte [edx + 0x98], al
mov eax, dword [ebp - 0x18]
add eax, 0x1958
mov dword [ebp - 0xe8], eax
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 0xe8]
call fcn.1015e495
mov eax, dword [ebx + 0x14]
and eax, 0x2000
je 0x10235548
mov eax, dword [ebp - 0x18]
add eax, 0x194c
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
cmp dword [ecx], 0
jne 0x1023552d
lea edx, [ebp - 0x1c]
push edx
mov ecx, dword [ebp - 0xe4]
call fcn.1015e495
jmp 0x10235546
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + 8]
push edx
mov ecx, dword [ebp - 0xe4]
call fcn.1015daef
jmp 0x10235565
mov eax, dword [ebp - 0x18]
add eax, 0x194c
mov dword [ebp - 0xe8], eax
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 0xe8]
call fcn.1015e495
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1015ebf2
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret