Function at 0x43dde0
Capabilities:
Create thread
Terminate thread

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 0x49164b
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x188
mov eax, dword [0x4a8040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp byte [0x4cac0c], 0
je 0x43f062
cmp byte [0x591ce5], 0
jne 0x43df86
push str.parse
push str.https:__sapphire_project.ru_partners_mod_parse.php
lea eax, [ebp - 0x13c]
push eax
call fcn.00401840
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x12c]
test eax, eax
je 0x43df20
xor edi, edi
xor esi, esi
test eax, eax
je 0x43df20
mov ecx, dword [ebp - 0x128]
nop dword [eax + eax]
mov edx, dword [ebp - 0x13c]
lea eax, [ebp - 0x13c]
cmp ecx, 0xf
cmova eax, edx
cmp byte [eax + esi], 0x2f
je 0x43df10
test edi, edi
jne 0x43df11
cmp ecx, 0xf
lea eax, [ebp - 0x13c]
mov ecx, dword [0x4cabec]
cmova eax, edx
mov dl, byte [eax + esi]
mov byte [ebp - 0x124], dl
cmp ecx, dword [0x4cabf0]
jae 0x43deea
cmp dword [0x4cabf0], 0xf
lea eax, [ecx + 1]
mov dword [0x4cabec], eax
mov eax, 0x4cabdc
cmova eax, dword [0x4cabdc]
mov byte [eax + ecx], dl
mov byte [eax + ecx + 1], 0
mov ecx, dword [ebp - 0x128]
jmp 0x43df11
push dword [ebp - 0x124]
mov byte [ebp - 0x140], 0
push dword [ebp - 0x140]
push ecx
mov ecx, 0x4cabdc
call fcn.00402460
mov ecx, dword [ebp - 0x128]
jmp 0x43df11
inc edi
inc esi
cmp esi, dword [ebp - 0x12c]
jb 0x43de80
jmp 0x43df26
mov ecx, dword [ebp - 0x128]
mov byte [0x591ce5], 1
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x43df6a
mov edx, dword [ebp - 0x13c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43df60
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x43df60
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0048f7d7
add esp, 8
push 0
push 0
push 0
push 0x43f090
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x591ce0], eax
jmp 0x43df8b
mov eax, dword [0x591ce0]
cmp byte [0x591cbc], 0
je 0x43dfa4
cmp byte [0x591c56], 0
jne 0x43dfa4
mov byte [0x591c56], 1
cmp byte [0x591cdc], 0
je 0x43dfc6
cmp byte [0x591c55], 0
jne 0x43dfc6
push 0
push eax
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov byte [0x591c55], 1
mov ecx, dword [0x591c58]
movss xmm0, dword [0x5914d0]
movss xmm1, dword [0x5914d4]
mov eax, dword [ecx + 0x1cd0]
or eax, 1
movss dword [ecx + 0x1ce4], xmm0
mov dword [ecx + 0x1cd0], eax
or eax, 2
movss dword [ecx + 0x1ce8], xmm1
mov dword [ecx + 0x1cec], 0
mov dword [ecx + 0x1cf0], 0
mov dword [ecx + 0x1cd4], 2
mov byte [ecx + 0x1d0c], 1
movss xmm0, dword [0x5914d8]
movss xmm1, dword [0x5914dc]
movss dword [ecx + 0x1cf4], xmm0
movss xmm0, dword [0x4a35c4]
mov dword [ecx + 0x1cd0], eax
movss dword [ecx + 0x1cf8], xmm1
mov dword [ecx + 0x1cd8], 1
mov eax, dword [0x4cac10]
movss xmm2, dword [0x4cac1c]
cmp dword [0x4cac18], eax
je 0x43e085
comiss xmm2, dword [0x4a3508]
jbe 0x43e07e
xorps xmm0, xmm0
jmp 0x43e08a
mov dword [0x4cac18], eax
jmp 0x43e0ab
comiss xmm0, xmm2
jbe 0x43e0ab
movss xmm1, dword [ecx + 0x18]
subss xmm0, xmm2
mulss xmm1, dword [0x4a362c]
mulss xmm0, xmm1
addss xmm0, xmm2
movss dword [0x4cac1c], xmm0
or dword [ecx + 0x1cd0], 0x40
mov edx, 0x4cac0c
mov dword [ecx + 0x1d28], 0x3f800000
mov ecx, str.Sapphire_Installer
push 0x12b
call fcn.0040fd80
mov edx, dword [0x591c58]
add esp, 4
mov ecx, dword [edx + 0x1c6c]
mov eax, ecx
or eax, 4
and ecx, 0xfffffffb
cmp dword [0x4cac10], 0
cmovne ecx, eax
lea eax, [ebp - 0x124]
mov dword [ebp - 0x124], ecx
mov dword [edx + 0x1c6c], ecx
lea ecx, [edx + 0x1da0]
push eax
call fcn.00422e80
mov ecx, dword [0x591c58]
push 0
push ecx
mov dword [esp], 0x40000000
mov eax, dword [ecx + 0x1c48]
push 0xff1b1012
mov byte [eax + 0xc5], 1
mov eax, dword [ecx + 0x1c48]
movss xmm2, dword [eax + 0x4c]
movss xmm3, dword [eax + 0x48]
mov esi, dword [eax + 0x2c4]
movaps xmm0, xmm3
addss xmm0, dword [0x4a3664]
movss dword [ebp - 0x178], xmm2
mov ecx, esi
addss xmm2, dword [eax + 0x44]
lea eax, [ebp - 0x168]
movss dword [ebp - 0x140], xmm3
push eax
movss dword [ebp - 0x164], xmm0
lea eax, [ebp - 0x174]
movaps xmm0, xmm3
addss xmm0, dword [0x4a3644]
movaps xmm1, xmm2
movss dword [ebp - 0x124], xmm2
subss xmm1, dword [0x4a3644]
push eax
movss dword [ebp - 0x170], xmm0
movss dword [ebp - 0x168], xmm1
movaps xmm1, xmm2
subss xmm1, dword [0x4a3668]
movss dword [ebp - 0x174], xmm1
call fcn.0042e210
movss xmm0, dword [ebp - 0x124]
movss xmm1, dword [ebp - 0x140]
subss xmm0, dword [0x4a3658]
addss xmm1, dword [0x4a364c]
mov ecx, dword [0x591c4c]
movss dword [ebp - 0x174], xmm0
movss dword [ebp - 0x170], xmm1
test ecx, ecx
jne 0x43e205
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 8]
push dword [ebp - 0x170]
movups xmm0, xmmword [esi + 0x60]
lea eax, [ebp - 0x18c]
push dword [ebp - 0x174]
movss xmm2, dword [0x4a363c]
push 0
push ecx
mov dword [esp], 0
push 0x4a3185
push 0x4a3184
push eax
push 0xff9b7e83
push esi
movups xmmword [ebp - 0x18c], xmm0
call fcn.004326b0
mov ecx, dword [0x591c58]
lea edx, [ebp - 0x168]
movss xmm3, dword [ebp - 0x178]
subss xmm3, dword [0x4a3668]
push ecx
mov eax, dword [ecx + 0x1c48]
mov dword [ebp - 0x168], 0x41a00000
mov dword [ebp - 0x164], 0x41a00000
mov byte [eax + 0xc5], 1
mov eax, dword [ecx + 0x1c48]
mov ecx, str.close
movss xmm0, dword [eax + 0x44]
subss xmm0, dword [eax + 0x90]
movss xmm2, dword [eax + 0x48]
subss xmm2, dword [eax + 0x94]
addss xmm3, xmm0
addss xmm2, dword [0x4a3644]
movss dword [eax + 0x108], xmm3
movss dword [eax + 0x10c], xmm2
movss xmm1, dword [eax + 0x124]
movss xmm0, dword [eax + 0x120]
maxss xmm1, xmm2
maxss xmm0, xmm3
movss dword [eax + 0x124], xmm1
movss dword [eax + 0x120], xmm0
call fcn.00438380
add esp, 4
test al, al
je 0x43e305
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov ecx, dword [0x591c08]
call fcn.00413330
mov ecx, dword [0x591c58]
lea edx, [ebp - 0x168]
push ecx
mov dword [ebp - 0x168], 0x42480000
mov dword [ebp - 0x164], 0x42480000
mov eax, dword [ecx + 0x1c48]
mov byte [eax + 0xc5], 1
mov eax, dword [ecx + 0x1c48]
mov ecx, 0x49e850
movss xmm0, dword [eax + 0x48]
movss xmm2, dword [eax + 0x44]
subss xmm0, dword [eax + 0x94]
subss xmm2, dword [eax + 0x90]
addss xmm0, dword [0x4a3698]
addss xmm2, dword [0x4a36a0]
movss dword [eax + 0x10c], xmm0
movss dword [eax + 0x108], xmm2
movss xmm1, dword [eax + 0x124]
maxss xmm1, xmm0
movss xmm0, dword [eax + 0x120]
maxss xmm0, xmm2
movss dword [eax + 0x124], xmm1
movss dword [eax + 0x120], xmm0
call fcn.00438380
movss xmm1, dword [0x4a36d4]
add esp, 4
xorps xmm0, xmm0
call fcn.00413b10
mov ecx, dword [0x591c58]
mov dword [ebp - 0x168], 0x438ac000
mov dword [ebp - 0x164], 0x42480000
mov eax, dword [ecx + 0x1c48]
movss xmm0, dword [eax + 0x108]
subss xmm0, dword [eax + 0x44]
addss xmm0, dword [eax + 0x90]
mov byte [eax + 0xc5], 1
mov eax, dword [ecx + 0x1c48]
addss xmm0, dword [0x4a3660]
movss xmm1, dword [eax + 0x44]
subss xmm1, dword [eax + 0x90]
subss xmm0, dword [0x4a364c]
addss xmm0, dword [0x4a3644]
subss xmm0, dword [0x4a364c]
subss xmm0, dword [0x4a3644]
subss xmm0, dword [0x4a365c]
addss xmm1, xmm0
movss xmm0, dword [eax + 0x120]
maxss xmm0, xmm1
movss dword [eax + 0x108], xmm1
movss dword [eax + 0x120], xmm0
mov eax, bind
mov ecx, dword [0x4cabec]
sub eax, ecx
cmp eax, 9
jb 0x43f080
cmp dword [0x4cabf0], 0xf
mov eax, 0x4cabdc
push ecx
cmova eax, dword [0x4cabdc]
push eax
push 9
push 0x4a34d8
push ecx
push dword [ebp - 0x170]
lea ecx, [ebp - 0x194]
call fcn.00402700
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x194]
cmp dword [ebp - 0x180], 0xf
lea edx, [ebp - 0x168]
cmova ecx, dword [ebp - 0x194]
push ecx
call fcn.0043f610
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov ecx, dword [ebp - 0x180]
mov byte [ebp - 0x169], al
cmp ecx, 0xf
jbe 0x43e51f
mov edx, dword [ebp - 0x194]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43e50f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x43e50f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0048f7d7
mov al, byte [ebp - 0x169]
add esp, 8
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x180], 0xf
mov byte [ebp - 0x194], 0
test al, al
je 0x43e681
push dword [0x591c60]
lea ecx, [ebp - 0x158]
call fcn.004020a0
cmp dword [ebp - 0x148], 0
mov ecx, dword [ebp - 0x144]
sete al
mov byte [ebp - 0x169], al
cmp ecx, 0xf
jbe 0x43e5a5
mov edx, dword [ebp - 0x158]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43e595
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x43e595
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0048f7d7
mov al, byte [ebp - 0x169]
add esp, 8
test al, al
je 0x43e67a
mov esi, dword [0x591c60]
mov eax, esi
cmp dword [esi + 0x14], 0xf
jbe 0x43e5bd
mov eax, dword [esi]
mov dword [ebp - 0x148], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x160]
movlpd qword [ebp - 0x160], xmm0
push eax
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x154], 0x49e934
mov dword [ebp - 0x150], 0x41
mov dword [ebp - 0x14c], 0x401b20
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderA]
mov edi, eax
test edi, edi
je 0x43e681
lea eax, [ebp - 0x120]
push eax
push edi
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListA]
lea eax, [ebp - 0x140]
mov dword [ebp - 0x140], 0
push eax
call dword [sym.imp.SHELL32.dll_SHGetMalloc]
test eax, eax
js 0x43e655
mov eax, dword [ebp - 0x140]
push edi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov eax, dword [ebp - 0x140]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
lea edx, [ebp - 0x120]
lea ecx, [edx + 1]
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x43e660
sub edx, ecx
lea eax, [ebp - 0x120]
push edx
push eax
mov ecx, esi
call fcn.00402190
jmp 0x43e681
mov byte [0x591ce4], 1
mov ecx, dword [0x591c58]
lea edx, [ebp - 0x17c]
mov dword [ebp - 0x168], 0x3f800000
mov dword [ebp - 0x164], 0x3f800000
mov dword [ebp - 0x174], 0
mov eax, dword [ecx + 0x1c48]
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x17c], 0x41a80000
mov dword [ebp - 0x178], 0x41a00000
mov byte [eax + 0xc5], 1
mov eax, dword [ecx + 0x1c48]
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x18c], 0x3f800000
mov dword [ebp - 0x14c], 0
movss xmm0, dword [eax + 0x44]
subss xmm0, dword [eax + 0x90]
movss xmm2, dword [eax + 0x48]
subss xmm2, dword [eax + 0x94]
mov dword [ebp - 0x188], 0x3f800000
mov dword [ebp - 0x148], 0
addss xmm0, dword [0x4a36a8]
mov dword [ebp - 0x184], 0x3f800000
addss xmm2, dword [0x4a369c]
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x180], 0x3f800000
movss dword [eax + 0x108], xmm0
movss dword [eax + 0x10c], xmm2
movss xmm1, dword [eax + 0x120]
maxss xmm1, xmm0
movss xmm0, dword [eax + 0x124]
maxss xmm0, xmm2
movss dword [eax + 0x120], xmm1
movss dword [eax + 0x124], xmm0
lea eax, [ebp - 0x150]
mov ecx, dword [0x591ce8]
push eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x174]
push eax
call fcn.00438e70
add esp, 0x10
call fcn.00413480
mov edx, dword [0x591c58]
dec dword [edx + 0x1da0]
mov eax, dword [edx + 0x1da8]
mov ecx, dword [edx + 0x1da0]
mov eax, dword [eax + ecx*4 - 4]
mov dword [edx + 0x1c6c], eax
mov eax, dword [edx + 0x1c48]
mov byte [eax + 0xc5], 1
cmp dword [0x4cac10], 0
mov esi, dword [edx + 0x1c48]
je 0x43f05d
movss xmm2, dword [edx + 0x18]
movss xmm0, dword [0x4a35c4]
subss xmm0, dword [0x4cac14]
mulss xmm2, dword [0x4a3624]
push str.Foreground
mulss xmm2, xmm0
addss xmm2, dword [0x4cac14]
movss dword [0x4cac14], xmm2
mov eax, dword [edx + 0x1c48]
mov edx, 1
mov ecx, dword [eax + 0x30]
call fcn.004097b0
movss xmm0, dword [0x4cac14]
add esp, 4
mulss xmm0, dword [0x4a3690]
mov edx, eax
cvttss2si ecx, xmm0
xorps xmm0, xmm0
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x4a351c]
comiss xmm0, xmm1
jbe 0x43e87d
xorps xmm3, xmm3
jmp 0x43e889
movss xmm3, dword [0x4a35c4]
minss xmm3, xmm1
movss xmm2, dword [esi + 0x44]
mulss xmm3, dword [0x4a3694]
movaps xmm0, xmm2
push 0
addss xmm0, dword [esi + 0x4c]
movss xmm1, dword [esi + 0x48]
addss xmm3, dword [0x4a3578]
subss xmm2, dword [0x4a364c]
push ecx
addss xmm0, dword [0x4a3668]
mov dword [esp], 0
mov ecx, edx
cvttss2si eax, xmm3
movss dword [ebp - 0x168], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esi + 0x50]
subss xmm1, dword [0x4a3654]
shl eax, 0x18
or eax, 0x171717
movss dword [ebp - 0x174], xmm2
push eax
addss xmm0, dword [0x4a3654]
lea eax, [ebp - 0x168]
movss dword [ebp - 0x170], xmm1
push eax
lea eax, [ebp - 0x174]
push eax
movss dword [ebp - 0x164], xmm0
call fcn.0042e210
mov eax, dword [0x4cac18]
cmp eax, 1
jne 0x43eda4
mov eax, dword [0x591c58]
mov edx, 1
push str.Foreground
mov eax, dword [eax + 0x1c48]
mov ecx, dword [eax + 0x30]
call fcn.004097b0
movss xmm0, dword [0x4cac14]
mov edi, eax
movss xmm1, dword [esi + 0x4c]
add esp, 4
mulss xmm1, dword [0x4a3578]
xorps xmm3, xmm3
mulss xmm0, dword [0x4a3694]
push 0x28
addss xmm1, dword [esi + 0x44]
push ecx
mulss xmm0, dword [0x4cac1c]
mov ecx, edi
mov dword [esp], 0x40c90fdb
movss dword [ebp - 0x178], xmm1
cvttss2si eax, xmm0
movss dword [ebp - 0x174], xmm1
movss xmm1, dword [esi + 0x50]
mulss xmm1, dword [0x4a3578]
movd xmm0, eax
mov eax, dword [0x591c58]
addss xmm1, dword [esi + 0x48]
cvtdq2ps xmm0, xmm0
movss xmm2, dword [eax + 0x18]
lea eax, [ebp - 0x174]
mulss xmm2, dword [0x4a35f4]
push eax
mulss xmm0, dword [0x4a351c]
mov dword [edi + 0x54], 0
movss dword [ebp - 0x124], xmm1
movss dword [ebp - 0x170], xmm1
movss xmm1, dword [0x4a3630]
subss xmm1, dword [0x591cd4]
movss dword [ebp - 0x140], xmm0
mulss xmm2, xmm1
addss xmm2, dword [0x591cd4]
movss dword [0x591cd4], xmm2
movss xmm2, dword [0x4a366c]
call fcn.0042d600
movss xmm3, dword [0x4a3694]
movss xmm0, dword [0x4a3570]
movss xmm2, dword [0x4a3578]
mov eax, dword [0x591c58]
movss xmm1, dword [0x4a35c4]
mulss xmm0, xmm3
movss xmm4, dword [eax + 0x1598]
mulss xmm4, dword [0x4a3534]
addss xmm0, xmm2
cvttss2si ecx, xmm0
movss xmm0, dword [0x4a3560]
mulss xmm0, xmm3
shl ecx, 8
addss xmm0, xmm2
cvttss2si eax, xmm0
movaps xmm0, xmm1
mulss xmm0, xmm3
or ecx, eax
addss xmm0, xmm2
cvttss2si eax, xmm0
xorps xmm0, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm0, xmm4
jbe 0x43eaa1
xorps xmm1, xmm1
jmp 0x43eaa5
minss xmm1, xmm4
mulss xmm1, xmm3
push ecx
mov dword [esp], 0x40800000
push 0
addss xmm1, xmm2
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
mov ecx, edi
push eax
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.0042c2a0
movss xmm1, dword [0x4cac2c]
lea eax, [ebp - 0x174]
addss xmm1, dword [0x4a35e4]
movss xmm3, dword [0x591cd4]
addss xmm3, dword [0x4a361c]
movss xmm2, dword [0x4a366c]
push 0x28
mulss xmm1, dword [0x4a3614]
push ecx
mov ecx, edi
mov dword [edi + 0x54], 0
addss xmm1, dword [0x591cd4]
movss dword [esp], xmm1
push eax
call fcn.0042d600
movss xmm0, dword [0x4a3560]
movss xmm4, dword [0x4a3694]
movss xmm2, dword [0x4a3578]
mov eax, dword [0x591c58]
movss xmm6, dword [0x4a3570]
movss xmm5, dword [ebp - 0x140]
movss xmm1, dword [0x4a35c4]
mulss xmm5, dword [eax + 0x1598]
mulss xmm0, xmm4
addss xmm0, xmm2
cvttss2si ecx, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm6
jbe 0x43eb79
xorps xmm3, xmm3
jmp 0x43eb80
movaps xmm3, xmm1
minss xmm3, xmm6
mulss xmm3, xmm4
addss xmm3, xmm2
cvttss2si eax, xmm3
shl eax, 8
or ecx, eax
comiss xmm0, xmm1
jbe 0x43eb9b
xorps xmm3, xmm3
jmp 0x43eba2
movaps xmm3, xmm1
minss xmm3, xmm1
mulss xmm3, xmm4
addss xmm3, xmm2
cvttss2si eax, xmm3
shl eax, 0x10
or ecx, eax
comiss xmm0, xmm5
jbe 0x43ebbd
xorps xmm1, xmm1
jmp 0x43ebc1
minss xmm1, xmm5
mulss xmm1, xmm4
push ecx
mov dword [esp], 0x40800000
push 0
addss xmm1, xmm2
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
mov ecx, edi
push eax
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.0042c2a0
movss xmm1, dword [ebp - 0x140]
xorps xmm0, xmm0
comiss xmm0, xmm1
mov dword [edi + 0x54], 0
ja 0x43ec0d
movss xmm0, dword [0x4a35c4]
minss xmm0, xmm1
mulss xmm0, dword [0x4a3694]
push 0
movss xmm3, dword [0x4a36c4]
push 0
addss xmm0, dword [0x4a3578]
push str.Loading
push ecx
mov dword [esp], 0xbf800000
cvttss2si esi, xmm0
shl esi, 0x18
mov eax, esi
or eax, 0xff7850
mov dword [ebp - 0x140], eax
lea eax, [ebp - 0x168]
push eax
mov eax, dword [0x591c58]
movss xmm2, dword [eax + 0x19d8]
mov ecx, dword [eax + 0x19d4]
call fcn.004323a0
movss xmm0, dword [ebp - 0x168]
movss xmm1, dword [ebp - 0x178]
addss xmm0, dword [0x4a35bc]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x4a3578]
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x124]
addss xmm0, dword [0x4a3670]
movss dword [ebp - 0x174], xmm1
movss dword [ebp - 0x170], xmm0
test esi, esi
je 0x43ed05
push dword [ebp - 0x170]
mov eax, dword [edi + 0x2c]
push dword [ebp - 0x174]
movups xmm0, xmmword [edi + 0x60]
push 0
movss xmm2, dword [eax + 0xc]
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0x18c]
push 0x4a34eb
push str.Loading
push ecx
push dword [ebp - 0x140]
mov ecx, dword [eax + 8]
push edi
movups xmmword [ebp - 0x18c], xmm0
call fcn.004326b0
movss xmm0, dword [0x591cd4]
comiss xmm0, dword [0x4a3628]
jb 0x43ed20
mov dword [0x591cd4], 0
movss xmm1, dword [0x4cac2c]
comiss xmm1, dword [0x4a35ec]
jb 0x43ed40
mov dword [0x4cac10], 2
jmp 0x43f05d
movss xmm0, dword [0x4a35e8]
comiss xmm0, xmm1
mov al, byte [0x591cbc]
jbe 0x43ed79
test al, al
jne 0x43ed79
mov eax, dword [0x591c58]
movss xmm0, dword [eax + 0x18]
mulss xmm0, dword [0x4a3530]
addss xmm0, xmm1
movss dword [0x4cac2c], xmm0
jmp 0x43f05d
cmp al, 1
jne 0x43f05d
mov eax, dword [0x591c58]
movss xmm0, dword [eax + 0x18]
mulss xmm0, dword [0x4a35b8]
addss xmm0, xmm1
movss dword [0x4cac2c], xmm0
jmp 0x43f05d
cmp eax, 2
jne 0x43f02b
cmp byte [0x591cdc], 0
je 0x43f02b
movss xmm0, dword [0x4cac2c]
comiss xmm0, dword [0x4a3618]
jb 0x43edfc
lea ecx, [ebp - 0x168]
mov dword [0x4cac10], 3
mov dword [ebp - 0x168], 0x3e8
mov dword [ebp - 0x164], 0
call fcn.0043f4f0
mov ecx, dword [0x591c58]
jmp 0x43ee0f
mov ecx, dword [0x591c58]
addss xmm0, dword [ecx + 0x18]
movss dword [0x4cac2c], xmm0
movss xmm0, dword [0x4cac14]
mov edx, 1
mulss xmm0, dword [0x4a3694]
push str.Foreground
mulss xmm0, dword [0x4cac1c]
cvttss2si eax, xmm0
movd xmm0, eax
mov eax, dword [ecx + 0x1c48]
cvtdq2ps xmm0, xmm0
mov ecx, dword [eax + 0x30]
mulss xmm0, dword [0x4a351c]
movss dword [ebp - 0x140], xmm0
call fcn.004097b0
movss xmm3, dword [0x4a3578]
add esp, 4
movss xmm1, dword [esi + 0x50]
mov edi, eax
movss xmm0, dword [esi + 0x4c]
mulss xmm1, xmm3
mulss xmm0, xmm3
addss xmm1, dword [esi + 0x48]
addss xmm0, dword [esi + 0x44]
movss dword [ebp - 0x170], xmm1
subss xmm1, dword [0x4a366c]
movaps xmm2, xmm0
movss dword [ebp - 0x178], xmm0
subss xmm2, dword [0x4a366c]
xorps xmm0, xmm0
comiss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0x164], xmm1
movss xmm1, dword [0x4a35c4]
minss xmm1, dword [ebp - 0x140]
movss dword [ebp - 0x168], xmm2
movss dword [ebp - 0x124], xmm1
ja 0x43eee5
movaps xmm0, xmm1
movss dword [ebp - 0x124], xmm1
mulss xmm0, dword [0x4a3694]
mov ecx, edi
push dword [ebp - 0x164]
movss xmm2, dword [0x4a367c]
push dword [ebp - 0x168]
addss xmm0, xmm3
cvttss2si edx, xmm0
shl edx, 0x18
or edx, 0xff7850
call fcn.00432dd0
xorps xmm0, xmm0
add esp, 8
comiss xmm0, dword [ebp - 0x140]
ja 0x43ef30
movss xmm0, dword [ebp - 0x124]
mulss xmm0, dword [0x4a3694]
mov ecx, dword [0x591c58]
movss xmm3, dword [0x4a36c4]
push 0
addss xmm0, dword [0x4a3578]
movss xmm2, dword [ecx + 0x19d8]
push 0
push str.Success
push ecx
mov ecx, dword [ecx + 0x19d4]
cvttss2si esi, xmm0
mov dword [esp], 0xbf800000
shl esi, 0x18
mov eax, esi
or eax, 0xff7850
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x168]
push eax
call fcn.004323a0
movss xmm0, dword [ebp - 0x168]
movss xmm1, dword [ebp - 0x178]
addss xmm0, dword [0x4a35bc]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x4a3578]
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x170]
addss xmm0, dword [0x4a3670]
movss dword [ebp - 0x168], xmm1
movss dword [ebp - 0x164], xmm0
test esi, esi
je 0x43f05d
push dword [ebp - 0x164]
mov eax, dword [edi + 0x2c]
push dword [ebp - 0x168]
movups xmm0, xmmword [edi + 0x60]
push 0
movss xmm2, dword [eax + 0xc]
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0x18c]
push 0x4a34f3
push str.Success
push ecx
push dword [ebp - 0x124]
mov ecx, dword [eax + 8]
push edi
movups xmmword [ebp - 0x18c], xmm0
call fcn.004326b0
jmp 0x43f05d
cmp dword [0x4cac10], 3
jne 0x43f05d
mov eax, dword [0x591c58]
movss xmm0, dword [0x4cac1c]
movss dword [eax + 0x1598], xmm0
mov eax, dword [0x4cac18]
cmp eax, dword [0x4cac10]
jne 0x43f05d
mov byte [0x4cac0c], 0
call fcn.00412f20
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.0048f548
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.00401310
int3