Function at 0x404310
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xfd8
mov eax, dword [0x416024]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xorps xmm0, xmm0
push esi
movlpd qword [ebp - 0x28], xmm0
mov esi, dword [ebp - 0x24]
movlpd qword [ebp - 0x30], xmm0
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
push edi
mov edi, dword [ebp - 0x28]
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x24], eax
test ebx, ebx
ja 0x40435c
jb 0x404355
cmp eax, 0xeadc
ja 0x40435c
mov edx, 1
jmp 0x40435e
xor edx, edx
test ebx, ebx
ja 0x404372
jb 0x40436b
cmp eax, 0xeadc
ja 0x404372
mov ecx, 1
jmp 0x404374
xor ecx, ecx
test edx, ecx
je 0x4043f7
mov dword [ebp - 0x2c], 1
mov edi, 2
xor esi, esi
cmp esi, ebx
ja 0x404397
jb 0x404390
cmp edi, eax
jae 0x404397
mov edx, 1
jmp 0x404399
xor edx, edx
cmp esi, ebx
ja 0x4043aa
jb 0x4043a3
cmp edi, eax
jae 0x4043aa
mov ecx, 1
jmp 0x4043ac
xor ecx, ecx
test edx, ecx
je 0x4043cb
push esi
push edi
push ebx
push eax
call fcn.00407d60
or eax, edx
jne 0x4043c0
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x24]
add edi, 1
adc esi, 0
jmp 0x404386
cmp dword [ebp - 0x2c], 0
je 0x4043e6
mov edi, eax
mov esi, ebx
add eax, 1
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], esi
adc ebx, 0
jmp 0x404345
mov esi, dword [ebp - 0x34]
add eax, 1
mov edi, dword [ebp - 0x38]
adc ebx, 0
jmp 0x404345
shrd edi, esi, 2
mov ecx, 0x1f4
lea esi, [edi - 0x1a]
mov eax, esi
lea edi, [ebp - 0xfd8]
cdq
mov dword [ebp - 0x24], eax
mov ebx, edx
mov eax, 0x7b
rep stosd dword es:[edi], eax
mov ecx, 0x1f4
lea edi, [ebp - 0x808]
mov eax, 0x141
rep stosd dword es:[edi], eax
mov edx, dword [ebp - 0x808]
xor ecx, ecx
mov dword [ebp - 0x808], 0x6fc75
nop dword [eax]
cmp ecx, 0x5b0
jge 0x40445d
mov eax, dword [ebp + ecx - 0x804]
mov dword [ebp + ecx - 0x804], edx
add ecx, 4
mov edx, eax
jmp 0x404440
test ebx, ebx
jb 0x40446e
ja 0x404469
cmp dword [ebp - 0x24], 0xfffffffe
jbe 0x40446e
mov esi, 0xfffffffe
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, 0x7b
lea edi, [ebp - 0xfd8]
mov ecx, 0x1f4
rep stosd dword es:[edi], eax
mov ecx, 0x1f4
lea edi, [ebp - 0x808]
mov eax, 0x141
rep stosd dword es:[edi], eax
nop
xchg ebx, ebx
xchg ecx, ecx
xchg esp, esp
xchg ebp, ebp
mov eax, eax
xor eax, eax
xor eax, 0
sub eax, eax
add eax, 0xf
push 1
pop eax
mov eax, 0x7b
lea edi, [ebp - 0xfd8]
mov ecx, 0x1f4
push 0
push 0x402660
rep stosd dword es:[edi], eax
push 0
mov eax, 0x141
lea edi, [ebp - 0x808]
push 0x65
mov ecx, 0x1f4
rep stosd dword es:[edi], eax
push 0
call dword [sym.imp.USER32.dll_CreateDialogParamA]
mov edx, eax
mov dword [ebp - 0x24], edx
mov ebx, ebx
xor ebx, ebx
xor ebx, 0
sub ebx, ebx
add ebx, 0xf
push 1
pop ebx
mov eax, 0x7b
lea edi, [ebp - 0xfd8]
mov ecx, 0x1f4
rep stosd dword es:[edi], eax
mov eax, 0x141
lea edi, [ebp - 0x808]
push 0
mov ecx, 0x1f4
rep stosd dword es:[edi], eax
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, ecx
xor ecx, ecx
xor eax, 0
sub ecx, ecx
add ebx, 0xf
push 1
pop ecx
mov eax, 0x7b
lea edi, [ebp - 0xfd8]
mov ecx, 0x1f4
rep stosd dword es:[edi], eax
push 0
mov eax, 0x141
lea edi, [ebp - 0x808]
push 0
mov ecx, 0x1f4
rep stosd dword es:[edi], eax
push 0
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x4045af
mov esi, dword [sym.imp.USER32.dll_IsDialogMessageA]
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageA]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x24]
call esi
test eax, eax
jne 0x40459b
lea eax, [ebp - 0x20]
push eax
call edi
lea eax, [ebp - 0x20]
push eax
call ebx
push 0
push 0
push 0
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
jne 0x404582
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00407d4b
mov esp, ebp
pop ebp
ret