Function at 0x430850
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x432400
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x43b040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
mov dword [0x43b448], 0x30
mov dword [0x43b44c], 0x40
mov dword [0x43b450], 0x42fe20
mov dword [0x43b454], 0
mov dword [0x43b458], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xorps xmm0, xmm0
mov dword [0x43b45c], eax
push 0x43b448
movups xmmword [0x43b460], xmm0
mov dword [0x43b470], 0x438ad0
mov dword [0x43b474], 0
call dword [sym.imp.USER32.dll_RegisterClassExA]
push 0
push dword [0x43b45c]
push 0
push 0
push 0x12c
push 0x1f4
push 0x64
push 0x64
push 0x80000000
push str.Lycoris
push str.class001
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push 0xa
push eax
mov dword [0x43b440], eax
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x43b440]
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0x20
mov dword [ebp - 4], 0
call dword [sym.imp.d3d9.dll_Direct3DCreate9]
mov ecx, eax
mov dword [0x43b43c], ecx
test ecx, ecx
je 0x4309d4
push 0x43b444
push 0x43b478
push 0x40
push dword [0x43b440]
xorps xmm0, xmm0
mov dword [0x43b48c], 0
push 1
movlpd qword [0x43b478], xmm0
movlpd qword [0x43b484], xmm0
mov dword [0x43b494], 0
movlpd qword [0x43b4a4], xmm0
mov dword [0x43b498], 1
mov dword [0x43b490], 1
mov dword [0x43b480], 0
mov dword [0x43b49c], 1
mov dword [0x43b4a0], 0x50
mov dword [0x43b4ac], 1
mov eax, dword [ecx]
push 0
push ecx
call dword [eax + 0x40]
call fcn.004300d0
cmp byte [0x43b098], 0
je 0x430cd0
mov dword [ebp - 0x40], 0x42c80000
mov dword [ebp - 0x3c], 0
call fcn.004304d0
mov dword [ebp - 4], 1
mov edx, 0x43b098
mov eax, dword [0x43b418]
mov ecx, str.lycoris
push 0x126
or dword [eax + 0x4954], 3
mov dword [eax + 0x4964], 0
mov dword [eax + 0x4968], 0
mov dword [eax + 0x496c], 0
mov dword [eax + 0x4970], 0
mov dword [eax + 0x4958], 1
mov dword [eax + 0x4974], 0x43fa0000
mov dword [eax + 0x4978], 0x43960000
mov dword [eax + 0x495c], 1
call fcn.0040c840
mov ecx, dword [0x43b418]
lea edx, [ebp - 0x40]
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
movss xmm1, dword [eax + 0x18]
movss xmm0, dword [eax + 0x1c]
subss xmm1, dword [eax + 0x7c]
subss xmm0, dword [eax + 0x80]
mov byte [eax + 0x139], 1
addss xmm1, dword [0x438bf8]
addss xmm0, dword [0x438be8]
movss dword [eax + 0xf8], xmm1
movss dword [eax + 0xfc], xmm0
call fcn.0042e840
add esp, 4
call fcn.0040f4d0
mov dword [ebp - 4], 2
call fcn.00409490
mov ecx, dword [0x43b444]
push 0
push 7
push ecx
mov eax, dword [ecx]
call dword [eax + 0xe4]
mov ecx, dword [0x43b444]
push 0
push 0x1b
push ecx
mov eax, dword [ecx]
call dword [eax + 0xe4]
mov ecx, dword [0x43b444]
push 0
push 0xae
push ecx
mov eax, dword [ecx]
call dword [eax + 0xe4]
mov ecx, dword [0x43b444]
push 0
push ecx
mov dword [esp], 0x3f800000
mov eax, dword [ecx]
push 0xff000000
push 3
push 0
push 0
push ecx
call dword [eax + 0xac]
mov eax, dword [0x43b444]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xa4]
test eax, eax
js 0x430b84
call fcn.00409860
mov eax, dword [0x43b418]
xor ecx, ecx
mov eax, dword [eax + 0x4a34]
mov eax, dword [eax]
add eax, 0x3c
cmp byte [eax], cl
cmovne ecx, eax
call fcn.0042a560
mov eax, dword [0x43b444]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xa8]
mov ecx, dword [0x43b444]
push 0
push 0
push 0
mov eax, dword [ecx]
push 0
push ecx
call dword [eax + 0x44]
cmp eax, 0x88760868
jne 0x430bb6
mov eax, dword [0x43b444]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
cmp eax, 0x88760869
jne 0x430bb6
call fcn.00430000
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
call fcn.00430730
mov esi, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x44]
cmp esi, 0xffb3b4bf
jne 0x430bdb
cmp ebx, 0x7fffffff
je 0x430c02
cmp ebx, 0x7fffffff
jg 0x430bf1
jl 0x430bed
cmp esi, 0xffb3b4bf
jae 0x430bf1
or al, 0xff
jmp 0x430bf3
mov al, 1
test al, al
jns 0x430c02
add esi, 0x4c4b40
adc ebx, 0
jmp 0x430c0a
or esi, 0xffffffff
mov ebx, 0x7fffffff
mov dword [ebp - 0x24], esi
nop dword [eax]
lea ecx, [ebp - 0x30]
call fcn.00430730
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
cmp esi, ecx
jne 0x430c2a
cmp ebx, eax
je 0x430cc3
cmp ebx, eax
jg 0x430c38
jl 0x430c34
cmp esi, ecx
jae 0x430c38
or al, 0xff
jmp 0x430c3a
mov al, 1
test al, al
jle 0x430cc3
call dword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
push 0
push 0x64
push edx
push eax
call fcn.00431b80
mov esi, eax
mov ecx, ebx
mov eax, dword [ebp - 0x24]
mov edi, edx
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
sbb ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], ecx
mov edx, ecx
mov ecx, eax
call fcn.00431c30
comisd xmm0, xmmword [0x438bf0]
jbe 0x430c89
add esi, 0xad160000
adc edi, 0x311cd
jmp 0x430c8f
add esi, dword [ebp - 0x34]
adc edi, dword [ebp - 0x38]
push 0
push 0x3b9aca00
push edi
push esi
call fcn.004319f0
mov dword [ebp - 0x20], eax
imul eax, eax, 0x3b9aca00
mov dword [ebp - 0x1c], edx
sub esi, eax
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x18], esi
call dword [sym.imp.MSVCP140.dll__Thrd_sleep]
mov esi, dword [ebp - 0x24]
add esp, 4
jmp 0x430c10
cmp byte [0x43b098], 0
jne 0x4309f4
call fcn.00430290
mov dword [ebp - 4], 3
mov ecx, dword [0x43b444]
test ecx, ecx
je 0x430cf6
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x43b444], 0
mov ecx, dword [0x43b43c]
test ecx, ecx
je 0x430d10
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x43b43c], 0
push dword [0x43b440]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [0x43b45c]
push dword [0x43b470]
call dword [sym.imp.USER32.dll_UnregisterClassA]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00430d53
mov esp, ebp
pop ebp
ret 0x10