Function at 0x4039a0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
cmp dword [ebp + 8], 0
jne 0x4039b6
xor eax, eax
jmp 0x403fa6
cmp dword [0x4284d8], 0
jne 0x4039c6
xor eax, eax
jmp 0x403fa6
mov eax, dword [0x4284c0]
mov dword [ebp - 0x70], eax
mov ecx, dword [0x4284c4]
mov dword [ebp - 0x74], ecx
mov edx, dword [0x4284a0]
mov dword [ebp - 0x80], edx
mov eax, dword [0x4284a4]
mov dword [ebp - 0x7c], eax
mov ecx, dword [0x4284a8]
mov dword [ebp - 8], ecx
mov edx, dword [0x4284ac]
mov dword [ebp - 4], edx
mov byte [ebp - 0xc], 0
mov dword [ebp - 0x78], 0
mov dword [0x426328], 0
cmp dword [0x4284e8], 0
je 0x403a26
push 0
mov eax, dword [0x4284e8]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
cmp dword [0x4284d8], 0
je 0x403a60
push 5
mov ecx, dword [0x4284d8]
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x40
mov edx, dword [0x4284cc]
push edx
mov eax, dword [0x4284c8]
push eax
push 0
push 0
push 0xffffffffffffffff
mov ecx, dword [0x4284d8]
push ecx
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0x3e8
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x18], eax
cmp dword [0x426328], 0
jl 0x403c1e
cmp dword [0x426328], 4
jge 0x403c1e
cmp dword [0x428490], 3
je 0x403aad
jmp 0x403c1e
mov ecx, dword [0x426328]
lea edx, [ebp + ecx*8 - 0x6c]
push edx
mov eax, dword [0x426328]
lea ecx, [ebp + eax*8 - 0x3c]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00402a59
add esp, 0xc
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 2
jne 0x403b34
mov byte [ebp - 0xc], 1
mov eax, dword [0x426328]
mov dword [ebp + eax*8 - 0x3c], 0
mov dword [ebp + eax*8 - 0x38], 0
mov ecx, dword [0x426328]
mov dword [ebp + ecx*8 - 0x6c], 0
mov dword [ebp + ecx*8 - 0x68], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x78], 0
jmp 0x403bb6
cmp dword [ebp - 0x84], 3
jne 0x403b6b
mov byte [ebp - 0xc], 0
mov edx, dword [ebp - 0x78]
add edx, 1
mov dword [ebp - 0x78], edx
mov eax, dword [0x426328]
fld qword [ebp - 0x1c]
fadd qword [ebp + eax*8 - 0x3c]
fstp qword [ebp - 0x1c]
mov ecx, dword [0x426328]
fld qword [ebp - 0x4c]
fadd qword [ebp + ecx*8 - 0x6c]
fstp qword [ebp - 0x4c]
jmp 0x403bb6
cmp dword [ebp - 0x84], 1
je 0x403b80
cmp dword [ebp - 0x84], 0x1f4
jne 0x403bb6
mov edx, dword [ebp - 0xc]
and edx, 0xff
cmp edx, 1
jne 0x403bb6
mov eax, dword [0x426328]
fld qword [ebp - 0x1c]
fadd qword [ebp + eax*8 - 0x3c]
fstp qword [ebp - 0x1c]
mov ecx, dword [0x426328]
fld qword [ebp - 0x4c]
fadd qword [ebp + ecx*8 - 0x6c]
fstp qword [ebp - 0x4c]
mov edx, dword [ebp - 0x78]
add edx, 1
mov dword [ebp - 0x78], edx
cmp dword [ebp - 0x78], 0x14
jle 0x403c19
mov eax, dword [ebp - 0xc]
and eax, 0xff
test eax, eax
je 0x403bce
cmp dword [ebp - 0x78], 0x64
jle 0x403c19
fild dword [ebp - 0x78]
fdivr qword [ebp - 0x1c]
mov ecx, dword [0x426328]
fstp qword [ebp + ecx*8 - 0x3c]
fild dword [ebp - 0x78]
fdivr qword [ebp - 0x4c]
mov edx, dword [0x426328]
fstp qword [ebp + edx*8 - 0x6c]
mov dword [ebp - 0x78], 0
mov eax, dword [0x426328]
add eax, 1
mov dword [0x426328], eax
push 0
push 0
push 0xf
mov ecx, dword [0x4284d8]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov byte [ebp - 0xc], 0
jmp 0x403a85
cmp dword [0x428490], 3
jne 0x403c31
mov dword [0x428490], 1
push 1
push 0
push 0
push 0
push 0
mov edx, dword [0x4284d8]
push edx
call dword [sym.imp.USER32.dll_MoveWindow]
push 0
mov eax, dword [0x4284d8]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
cmp dword [0x426328], 3
jl 0x403f41
fld qword [ebp - 0x6c]
fsub qword [ebp - 0x64]
call fcn.0040ce68
push eax
call fcn.0040cf44
add esp, 4
cmp eax, 0xa
jge 0x403f3f
fld qword [ebp - 0x5c]
fsub qword [ebp - 0x54]
call fcn.0040ce68
push eax
call fcn.0040cf44
add esp, 4
cmp eax, 0xa
jge 0x403f3f
fld qword [ebp - 0x3c]
fsub qword [ebp - 0x24]
call fcn.0040ce68
push eax
call fcn.0040cf44
add esp, 4
cmp eax, 0xa
jge 0x403f3f
fld qword [ebp - 0x34]
fsub qword [ebp - 0x2c]
call fcn.0040ce68
push eax
call fcn.0040cf44
add esp, 4
cmp eax, 0xa
jge 0x403f3f
mov ecx, dword [0x4284c8]
sub ecx, 0xc8
mov dword [ebp - 0x88], ecx
fild dword [ebp - 0x88]
fld qword [ebp - 0x34]
fsub qword [ebp - 0x3c]
fld qword [ebp - 0x2c]
fsub qword [ebp - 0x24]
faddp st(1)
fdiv qword [0x420938]
fsub qword [0x420930]
fdivp st(1)
fstp qword [ebp - 0x1c]
xor edx, edx
mov dl, byte [0x4284f0]
test edx, edx
jl 0x403d61
xor eax, eax
mov al, byte [0x4284f0]
cmp eax, 0x80
jge 0x403d61
mov ecx, dword [0x4284cc]
sub ecx, 0xc8
mov dword [ebp - 0x8c], ecx
fild dword [ebp - 0x8c]
fld qword [ebp - 0x64]
fsub qword [ebp - 0x5c]
fld qword [ebp - 0x6c]
fsub qword [ebp - 0x54]
faddp st(1)
fdiv qword [0x420938]
fsub qword [0x420928]
fdivp st(1)
fstp qword [ebp - 0x4c]
jmp 0x403db6
xor edx, edx
mov dl, byte [0x4284f0]
cmp edx, 0x80
jl 0x403db6
xor eax, eax
mov al, byte [0x4284f0]
cmp eax, 0xff
jge 0x403db6
mov ecx, dword [0x4284cc]
sub ecx, 0xc8
mov dword [ebp - 0x90], ecx
fild dword [ebp - 0x90]
fld qword [ebp - 0x5c]
fsub qword [ebp - 0x64]
fld qword [ebp - 0x54]
fsub qword [ebp - 0x6c]
faddp st(1)
fdiv qword [0x420938]
fsub qword [0x420930]
fdivp st(1)
fstp qword [ebp - 0x4c]
mov edx, dword [ebp - 0x18]
push edx
mov eax, dword [ebp - 0x1c]
push eax
call fcn.0040ce8f
add esp, 8
fstp qword [ebp - 0x1c]
mov ecx, dword [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x4c]
push edx
call fcn.0040ce8f
add esp, 8
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x1c]
fcomp qword [0x420920]
fnstsw ax
test ah, 0x41
jne 0x403f3f
fld qword [ebp - 0x4c]
fcomp qword [0x420920]
fnstsw ax
test ah, 0x41
jne 0x403f3f
fld qword [ebp - 0x1c]
fcomp qword [0x420918]
fnstsw ax
test ah, 1
je 0x403f3f
fld qword [ebp - 0x4c]
fcomp qword [0x420918]
fnstsw ax
test ah, 1
je 0x403f3f
xor eax, eax
mov al, byte [0x4284f0]
test eax, eax
jl 0x403eaa
xor ecx, ecx
mov cl, byte [0x4284f0]
cmp ecx, 0x80
jge 0x403eaa
fild dword [0x4284cc]
fld qword [ebp - 0x4c]
fmul qword [ebp - 0x6c]
fsubp st(1)
fsubr qword [0x420910]
call fcn.0040ce68
mov dword [0x4284c4], eax
xor edx, edx
mov dl, byte [0x4284f0]
cmp edx, 6
jne 0x403e92
fild dword [0x4284c8]
fld qword [ebp - 0x1c]
fmul qword [ebp - 0x3c]
fsubp st(1)
fsubr qword [0x420910]
call fcn.0040ce68
mov dword [0x4284c0], eax
jmp 0x403ea8
fld qword [ebp - 0x1c]
fmul qword [ebp - 0x3c]
fsubr qword [0x420910]
call fcn.0040ce68
mov dword [0x4284c0], eax
jmp 0x403ef4
xor eax, eax
mov al, byte [0x4284f0]
cmp eax, 0x80
jl 0x403ef4
xor ecx, ecx
mov cl, byte [0x4284f0]
cmp ecx, 0xff
jge 0x403ef4
fld qword [ebp - 0x4c]
fmul qword [ebp - 0x6c]
fsubr qword [0x420910]
call fcn.0040ce68
mov dword [0x4284c4], eax
fld qword [ebp - 0x1c]
fmul qword [ebp - 0x3c]
fsubr qword [0x420910]
call fcn.0040ce68
mov dword [0x4284c0], eax
mov edx, dword [ebp - 0x1c]
mov dword [0x4284a0], edx
mov eax, dword [ebp - 0x18]
mov dword [0x4284a4], eax
mov ecx, dword [ebp - 0x4c]
mov dword [0x4284a8], ecx
mov edx, dword [ebp - 0x48]
mov dword [0x4284ac], edx
mov dword [0x426328], 4
cmp dword [0x4284e8], 0
je 0x403f38
push 5
mov eax, dword [0x4284e8]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, 1
jmp 0x403fa6
jmp 0x403f75
mov ecx, dword [ebp - 0x70]
mov dword [0x4284c0], ecx
mov edx, dword [ebp - 0x74]
mov dword [0x4284c4], edx
mov eax, dword [ebp - 0x80]
mov dword [0x4284a0], eax
mov ecx, dword [ebp - 0x7c]
mov dword [0x4284a4], ecx
mov edx, dword [ebp - 8]
mov dword [0x4284a8], edx
mov eax, dword [ebp - 4]
mov dword [0x4284ac], eax
cmp dword [0x426328], 0xffffffff
je 0x403f8c
push 0
push 0
push 0x426404
call fcn.0041c689
cmp dword [0x4284e8], 0
je 0x403fa4
push 5
mov ecx, dword [0x4284e8]
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
xor eax, eax
mov esp, ebp
pop ebp
ret