Function at 0x4020f0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c8
mov eax, dword [0x41b250]
xor eax, ebp
mov dword [ebp - 0x54], eax
cmp dword [ebp + 8], 0x20
jne 0x402112
mov dword [ebp - 0xc], 0xffffffff
jmp 0x402153
cmp dword [ebp + 8], 0x1a
je 0x40211e
cmp dword [ebp + 8], 0x1b
jne 0x402127
mov dword [ebp - 0x50], 0
jmp 0x40212e
mov dword [ebp - 0x50], 1
mov eax, dword [ebp - 0x50]
push eax
lea ecx, [ebp - 0xc]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.00403650
test eax, eax
jne 0x402153
mov eax, dword [ebp + 0x20]
mov dword [eax], 0x277d
xor eax, eax
jmp 0x40351b
push 0x2c
lea ecx, [ebp - 0x4c]
push ecx
call fcn.00406110
mov edx, dword [ebp + 8]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x20], 0
mov dword [ebp - 4], 0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2c4], eax
mov ecx, dword [ebp - 0x2c4]
sub ecx, 0xd
mov dword [ebp - 0x2c4], ecx
cmp dword [ebp - 0x2c4], 0x19
ja case.0x4021a4.3
mov edx, dword [ebp - 0x2c4]
jmp dword [edx*4 + 0x40352c]
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax]
test ecx, ecx
je 0x4021c7
push 0x28
mov edx, dword [ebp + 0x10]
push edx
lea eax, [ebp - 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
jmp 0x4021d6
push 0x41a02c
lea ecx, [ebp - 0x7c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 1
push 0
push 0
push 0
lea edx, [ebp - 0x1c]
push edx
lea eax, [ebp - 0x7c]
push eax
call fcn.004036b0
test eax, eax
jne 0x4021fd
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0x2783
jmp 0x4034f2
mov edx, dword [ebp + 0x18]
push edx
call fcn.004035b0
test eax, eax
jne 0x402218
mov eax, dword [ebp + 0x20]
mov dword [eax], 0x279c
jmp 0x4034f2
mov ecx, dword [ebp + 0x18]
push ecx
call fcn.0040c280
mov dword [ebp - 0x80], eax
mov edx, dword [ebp - 0x80]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax*4 + 0x421be0]
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x30], edx
push 0
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x4c]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call fcn.00404010
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x40229a
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax*4 + 0x421bc0]
cmp dword [ecx + 0xf4], 0
je 0x40229a
push 0
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421bc0]
mov ecx, dword [eax + 0x1c]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call fcn.004042e0
mov dword [ebp - 4], eax
jmp 0x4034f2
mov eax, dword [ebp + 0x10]
push eax
call fcn.004035b0
test eax, eax
jne 0x4022ba
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0x277e
jmp 0x4034f2
mov edx, dword [ebp + 0x10]
push edx
call fcn.0040c280
sub eax, 1
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0x10
jb 0x4022e3
mov eax, dword [ebp + 0x20]
mov dword [eax], 0x277e
jmp 0x4034f2
push 1
push 0
push 0
push 0
lea ecx, [ebp - 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
call fcn.004036b0
test eax, eax
jne 0x40230a
mov eax, dword [ebp + 0x20]
mov dword [eax], 0x277f
jmp 0x4034f2
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421be0]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421bc0]
mov ecx, dword [ebp - 0x94]
cmp dword [eax + ecx*4 + 0x34], 0
je 0x402373
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax*4 + 0x421bc0]
mov edx, dword [ebp - 0x94]
mov eax, dword [ecx + edx*4 + 0x34]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
jmp 0x40244e
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x8c], edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421be0]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421bc0]
mov eax, dword [edx + 4]
push eax
lea ecx, [ebp - 0x90]
push ecx
call fcn.00405c30
push 0
mov edx, dword [0x421580]
push edx
mov eax, dword [ebp - 0x94]
add eax, 0x64
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421bc0]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x84]
sub ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 0x88]
sub edx, dword [ebp - 0x1c]
push edx
mov eax, dword [ebp - 0x8c]
push eax
mov ecx, dword [ebp - 0x90]
push ecx
push 0x44034000
mov edx, dword [ebp + 0x14]
push edx
push str.BUTTON
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421bc0]
mov ecx, dword [ebp - 0x94]
mov dword [edx + ecx*4 + 0x34], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421bc0]
mov ecx, dword [ebp - 0x94]
cmp dword [eax + ecx*4 + 0x34], 0
jne 0x40244e
mov edx, dword [ebp + 0x20]
mov dword [edx], 0x2798
jmp 0x4034f2
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax*4 + 0x421bc0]
mov edx, dword [ebp - 0x94]
mov dword [ecx + edx*4 + 0xb4], 1
push 0
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x4c]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call fcn.00404010
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4024b4
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax*4 + 0x421bc0]
cmp dword [ecx + 0xf4], 0
je 0x4024b4
push 0
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421bc0]
mov ecx, dword [eax + 0x1c]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call fcn.004042e0
mov dword [ebp - 4], eax
jmp 0x4034f2
mov eax, dword [ebp + 0x10]
push eax
call fcn.004035b0
test eax, eax
jne 0x4024d4
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0x2799
jmp 0x4034f2
mov edx, dword [ebp + 0x10]
push edx
call fcn.0040c280
sub eax, 1
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0x10
jb 0x4024fd
mov eax, dword [ebp + 0x20]
mov dword [eax], 0x2799
jmp 0x4034f2
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421bc0]
mov eax, dword [ebp - 0x98]
cmp dword [edx + eax*4 + 0xb4], 0
jne 0x402525
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0x2799
jmp 0x4034f2
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421bc0]
mov ecx, dword [ebp - 0x98]
mov dword [eax + ecx*4 + 0xb4], 0
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421bc0]
mov ecx, dword [ebp - 0x98]
mov edx, dword [eax + ecx*4 + 0x34]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x40257c
push 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax*4 + 0x421bc0]
mov edx, dword [ebp - 0x98]
mov eax, dword [ecx + edx*4 + 0x34]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421bc0]
mov eax, dword [ebp - 0x98]
cmp dword [edx + eax*4 + 0x74], 0
je 0x4025c3
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421bc0]
mov eax, dword [ebp - 0x98]
mov dword [edx + eax*4 + 0x74], 0
cmp dword [0x41bef8], 0
jbe 0x4025c3
mov ecx, dword [0x41bef8]
sub ecx, 1
mov dword [0x41bef8], ecx
mov dword [ebp - 0x20], 1
jmp 0x4034f2
mov edx, dword [ebp + 0x10]
push edx
call fcn.004035b0
test eax, eax
jne 0x4025ea
mov eax, dword [ebp + 0x20]
mov dword [eax], 0x2780
jmp 0x4034f2
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0040c280
sub eax, 1
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0x10
jb 0x402613
mov edx, dword [ebp + 0x20]
mov dword [edx], 0x2780
jmp 0x4034f2
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax*4 + 0x421bc0]
mov edx, dword [ebp - 0x9c]
cmp dword [ecx + edx*4 + 0xb4], 0
jne 0x40263b
mov eax, dword [ebp + 0x20]
mov dword [eax], 0x2780
jmp 0x4034f2
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421bc0]
mov eax, dword [ebp - 0x9c]
cmp dword [edx + eax*4 + 0x74], 0
je 0x402689
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421bc0]
mov eax, dword [ebp - 0x9c]
mov dword [edx + eax*4 + 0x74], 0
cmp dword [0x41bef8], 0
jbe 0x402682
mov ecx, dword [0x41bef8]
sub ecx, 1
mov dword [0x41bef8], ecx
mov dword [ebp - 0x20], 1
jmp 0x4034f2
mov edx, dword [ebp + 0x10]
push edx
lea eax, [ebp - 0x1a8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x4210c0
push 0x41befd
push 0x41befe
push 0x41beff
push 0x41bf00
push 7
mov ecx, dword [0x41c380]
push ecx
call fcn.004012c0
test eax, eax
jne 0x4026dc
push str.___Unlicensed_
lea edx, [ebp - 0x1a8]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp - 0x1a8]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421bc0]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov dword [ebp - 0x20], eax
jmp 0x4034f2
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.004038d0
mov dword [ebp - 0x1ac], eax
cmp dword [ebp - 0x1ac], 0xffffffff
jne 0x402725
mov edx, dword [ebp + 0x20]
mov dword [edx], 0x2781
jmp 0x4034f2
mov eax, dword [ebp + 0x14]
push eax
call fcn.004035b0
test eax, eax
jne 0x402740
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0x2782
jmp 0x4034f2
mov edx, dword [ebp + 0x14]
push edx
call fcn.0040c280
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 0
jb 0x402761
cmp dword [ebp - 0x1b0], 7
jbe 0x40276f
mov eax, dword [ebp + 0x20]
mov dword [eax], 0x2782
jmp 0x4034f2
mov ecx, dword [ebp - 0x1b0]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x1ac]
mov dword [ebp - 0x2c], edx
push 0
push 0
lea eax, [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00404010
mov dword [ebp - 8], eax
mov dword [ebp - 4], 1
jmp 0x4034f2
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421bc0]
cmp dword [eax + 0xf8], 0
je 0x4027b6
jmp case.0x4021a4.6
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421bc0]
mov dword [edx + 0xf8], 1
mov dword [ebp - 0x1fc], 0
jmp 0x4027e5
mov eax, dword [ebp - 0x1fc]
add eax, 1
mov dword [ebp - 0x1fc], eax
cmp dword [ebp - 0x1fc], 0x10
jae 0x402801
mov ecx, dword [ebp - 0x1fc]
mov dword [ebp + ecx*4 - 0x1f0], 0
jmp 0x4027d6
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421bc0]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x1f4], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421bc0]
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1f8], ecx
mov dword [ebp - 0x200], 0
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0x1f4]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00404290
test eax, eax
je 0x4028e4
cmp dword [ebp - 0x4c], 0x14
jne 0x4028cb
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4028cb
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 0x28], 0
je 0x4028bd
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421bc0]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x28]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x28], 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421bc0]
mov eax, dword [ebp - 0x28]
mov dword [edx + 0x18], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421bc0]
mov eax, dword [edx + 0x1c]
cmp eax, dword [ebp - 0x28]
jbe 0x4028bd
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421bc0]
mov eax, dword [ebp - 0x28]
mov dword [edx + 0x1c], eax
mov dword [ebp - 0x200], 1
jmp 0x4028e4
cmp dword [ebp - 0x4c], 0xd
jne 0x4028df
mov ecx, dword [ebp - 0x48]
mov dword [ebp + ecx*4 - 0x1f0], 1
jmp 0x402831
cmp dword [ebp - 0x200], 0
jne 0x402922
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421bc0]
mov ecx, dword [ebp - 0x1f8]
mov dword [eax + 0x1c], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421bc0]
mov dword [eax + 0xf8], 0
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0x279a
jmp 0x4034f2
mov dword [ebp - 0x1fc], 0
jmp 0x40293d
mov edx, dword [ebp - 0x1fc]
add edx, 1
mov dword [ebp - 0x1fc], edx
cmp dword [ebp - 0x1fc], 0x10
jae 0x402a1d
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax*4 + 0x421bc0]
mov edx, dword [ebp - 0x1fc]
cmp dword [ecx + edx*4 + 0xb4], 0
je 0x402a18
mov eax, dword [ebp - 0x1fc]
cmp dword [ebp + eax*4 - 0x1f0], 0
jne 0x402a18
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421bc0]
mov eax, dword [ebp - 0x1fc]
mov dword [edx + eax*4 + 0xb4], 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421bc0]
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [edx + eax*4 + 0x34]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4029d3
push 0
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421bc0]
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [eax + ecx*4 + 0x34]
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax*4 + 0x421bc0]
mov edx, dword [ebp - 0x1fc]
cmp dword [ecx + edx*4 + 0x74], 0
je 0x402a18
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax*4 + 0x421bc0]
mov edx, dword [ebp - 0x1fc]
mov dword [ecx + edx*4 + 0x74], 0
cmp dword [0x41bef8], 0
jbe 0x402a18
mov eax, dword [0x41bef8]
sub eax, 1
mov dword [0x41bef8], eax
jmp 0x40292e
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421bc0]
mov dword [edx + 0xf8], 0
mov dword [ebp - 0x20], 1
jmp 0x4034f2
push 0
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x4c]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call fcn.00404010
mov dword [ebp - 8], eax
mov dword [ebp - 4], 1
jmp 0x4034f2
cmp dword [ebp - 0xc], 0
jne 0x402b12
mov dword [ebp - 0x20], 1
mov eax, dword [0x41cf44]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421bc0]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov dword [ebp - 0x204], 1
jmp 0x402aa5
mov ecx, dword [ebp - 0x204]
add ecx, 1
mov dword [ebp - 0x204], ecx
cmp dword [ebp - 0x204], 8
jae 0x402ae6
mov edx, dword [ebp - 0x204]
mov eax, dword [edx*4 + 0x421bc0]
cmp dword [eax], 0
je 0x402ae4
push 0
mov ecx, dword [ebp - 0x204]
push ecx
call fcn.00401f90
mov dword [ebp - 0x208], eax
cmp dword [ebp - 0x208], 0
jne 0x402ae4
mov dword [ebp - 0x20], 0
jmp 0x402a96
mov edx, dword [0x421bc0]
cmp dword [edx], 0
je 0x402b10
push 0
push 0
call fcn.00401f90
mov dword [ebp - 0x208], eax
cmp dword [ebp - 0x208], 0
jne 0x402b10
mov dword [ebp - 0x20], 0
jmp 0x402b20
push 0
mov eax, dword [ebp - 0xc]
push eax
call fcn.00401f90
mov dword [ebp - 0x20], eax
jmp 0x4034f2
mov ecx, dword [ebp + 0x10]
movsx edx, byte [ecx]
test edx, edx
je 0x402b44
push 0x28
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x234]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
jmp 0x402b56
push 0x41a054
lea edx, [ebp - 0x234]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 1
push 0
push 0
push 0
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x234]
push ecx
call fcn.004036b0
test eax, eax
jne 0x402b80
mov edx, dword [ebp + 0x20]
mov dword [edx], 0x2796
jmp 0x4034f2
mov eax, dword [ebp + 0x14]
push eax
call fcn.004035b0
test eax, eax
jne 0x402b9b
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0x2797
jmp 0x4034f2
mov edx, dword [ebp + 0x14]
push edx
call fcn.0040c280
mov dword [ebp - 0x20c], eax
cmp dword [ebp - 0x20c], 0
jb 0x402bbc
cmp dword [ebp - 0x20c], 3
jbe 0x402bca
mov eax, dword [ebp + 0x20]
mov dword [eax], 0x2797
jmp 0x4034f2
mov ecx, dword [ebp - 0x20c]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421be0]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x30], ecx
push 0
push 0
lea edx, [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0xc]
push eax
call fcn.00404010
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x402c41
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421bc0]
cmp dword [edx + 0xf4], 0
je 0x402c41
push 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax*4 + 0x421bc0]
mov edx, dword [ecx + 0x1c]
push edx
mov eax, dword [ebp - 0xc]
push eax
call fcn.004042e0
mov dword [ebp - 4], eax
jmp 0x4034f2
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x1c]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004036b0
test eax, eax
jne 0x402c6d
mov eax, dword [ebp + 0x20]
mov dword [eax], 0x2784
jmp 0x4034f2
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421be0]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x30], eax
push 0
push 0
lea ecx, [ebp - 0x4c]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call fcn.00404010
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x402cdb
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax*4 + 0x421bc0]
cmp dword [ecx + 0xf4], 0
je 0x402cdb
push 0
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421bc0]
mov ecx, dword [eax + 0x1c]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call fcn.004042e0
mov dword [ebp - 4], eax
jmp 0x4034f2
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax]
test ecx, ecx
je 0x402cff
push 0x28
mov edx, dword [ebp + 0x10]
push edx
lea eax, [ebp - 0x260]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
jmp 0x402d11
push str.0_0_1000_1000
lea ecx, [ebp - 0x260]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 1
push 0
push 0
push 0
lea edx, [ebp - 0x1c]
push edx
lea eax, [ebp - 0x260]
push eax
call fcn.004036b0
test eax, eax
jne 0x402d3b
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0x2783
jmp 0x4034f2
mov edx, dword [ebp + 0x14]
push edx
call fcn.004035b0
test eax, eax
jne 0x402d56
mov eax, dword [ebp + 0x20]
mov dword [eax], 0x2795
jmp 0x4034f2
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.0040c280
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0
jb 0x402d77
cmp dword [ebp - 0x238], 3
jbe 0x402d85
mov edx, dword [ebp + 0x20]
mov dword [edx], 0x2795
jmp 0x4034f2
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421be0]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x30], eax
push 0
push 0
lea ecx, [ebp - 0x4c]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call fcn.00404010
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x402dfc
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax*4 + 0x421bc0]
cmp dword [ecx + 0xf4], 0
je 0x402dfc
push 0
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421bc0]
mov ecx, dword [eax + 0x1c]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call fcn.004042e0
mov dword [ebp - 4], eax
jmp 0x4034f2
push 1
push 0
push 0
push 0
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.004036b0
test eax, eax
jne 0x402e28
mov edx, dword [ebp + 0x20]
mov dword [edx], 0x2790
jmp 0x4034f2
mov eax, dword [ebp + 0x18]
push eax
call fcn.004035b0
test eax, eax
jne 0x402e43
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0x278e
jmp 0x4034f2
mov edx, dword [ebp + 0x18]
push edx
call fcn.0040c280
mov dword [ebp - 0x268], eax
cmp dword [ebp - 0x268], 0
jb 0x402e64
cmp dword [ebp - 0x268], 1
jbe 0x402e72
mov eax, dword [ebp + 0x20]
mov dword [eax], 0x278e
jmp 0x4034f2
mov ecx, dword [ebp + 0x1c]
push ecx
call fcn.004035b0
test eax, eax
jne 0x402e8d
mov edx, dword [ebp + 0x20]
mov dword [edx], 0x278f
jmp 0x4034f2
mov eax, dword [ebp + 0x1c]
push eax
call fcn.0040c280
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x264], 0
jb 0x402eb1
cmp dword [ebp - 0x264], 0x100
jb 0x402ebf
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0x278f
jmp 0x4034f2
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x264]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421be0]
mov dword [ebp - 0x40], eax
push 0
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0xc]
push eax
call fcn.00404010
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x402f41
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421bc0]
cmp dword [edx + 0xf4], 0
je 0x402f41
push 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax*4 + 0x421bc0]
mov edx, dword [ecx + 0x1c]
push edx
mov eax, dword [ebp - 0xc]
push eax
call fcn.004042e0
mov dword [ebp - 4], eax
jmp 0x4034f2
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.004035b0
test eax, eax
jne 0x402f61
mov edx, dword [ebp + 0x20]
mov dword [edx], 0x2794
jmp 0x4034f2
mov eax, dword [ebp + 0x10]
push eax
call fcn.0040c280
mov dword [ebp - 0x26c], eax
cmp dword [ebp - 0x26c], 0
jb 0x402f82
cmp dword [ebp - 0x26c], 1
jbe 0x402f90
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0x2794
jmp 0x4034f2
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x26c]
mov dword [edx*4 + 0x421be0], eax
mov dword [ebp - 0x20], 1
jmp 0x4034f2
push 1
push 0
push 0
push 0
lea ecx, [ebp - 0x1c]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004036b0
test eax, eax
jne 0x402fd3
mov eax, dword [ebp + 0x20]
mov dword [eax], 0x2785
jmp 0x4034f2
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.004035b0
test eax, eax
jne 0x402fee
mov edx, dword [ebp + 0x20]
mov dword [edx], 0x2786
jmp 0x4034f2
mov eax, dword [ebp + 0x14]
push eax
call fcn.0040c280
mov dword [ebp - 0x270], eax
cmp dword [ebp - 0x270], 1
jne 0x403012
mov dword [ebp - 0x270], 0x800000
jmp 0x40303e
cmp dword [ebp - 0x270], 2
jne 0x403027
mov dword [ebp - 0x270], 0xc00000
jmp 0x40303e
cmp dword [ebp - 0x270], 0
je 0x40303e
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0x2786
jmp 0x4034f2
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421bc0]
cmp dword [eax], 0
je 0x403058
push 0
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00401f90
mov edx, dword [ebp - 0xc]
shl edx, 4
add edx, 0x421c40
mov eax, dword [ebp - 0x1c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x18]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x14]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x10]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax*4 + 0x421be0]
mov dword [edx*4 + 0x421c20], ecx
cmp dword [ebp - 0xc], 0
jne 0x4030a1
mov dword [ebp - 0x274], 0
jmp 0x4030ad
mov edx, dword [0x41c380]
mov dword [ebp - 0x274], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax*4 + 0x421be0]
push ecx
mov edx, dword [ebp - 0x274]
push edx
lea eax, [ebp - 0x1c]
push eax
call fcn.00405c30
mov ecx, dword [ebp - 0x270]
push ecx
lea edx, [ebp - 0x1c]
push edx
mov eax, dword [ebp - 0xc]
push eax
call fcn.00401b80
test eax, eax
jne 0x4030ee
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0x2787
jmp 0x4034f2
mov dword [ebp - 0x20], 1
jmp 0x4034f2
mov edx, dword [ebp + 0x10]
push edx
call fcn.004038d0
mov dword [ebp - 0x278], eax
cmp dword [ebp - 0x278], 0xffffffff
jne 0x403120
mov eax, dword [ebp + 0x20]
mov dword [eax], 0x2788
jmp 0x4034f2
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.004035b0
test eax, eax
jne 0x40313b
mov edx, dword [ebp + 0x20]
mov dword [edx], 0x2789
jmp 0x4034f2
mov eax, dword [ebp + 0x14]
push eax
call fcn.0040c280
mov dword [ebp - 0x27c], eax
cmp dword [ebp - 0x27c], 0
ja 0x403161
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0x2789
jmp 0x4034f2
mov edx, dword [ebp - 0x27c]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax*4 + 0x421be0]
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x278]
mov dword [ebp - 0x2c], edx
push 0
push 0
lea eax, [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00404010
mov dword [ebp - 8], eax
mov dword [ebp - 4], 1
jmp 0x4034f2
mov edx, dword [ebp + 0x10]
push edx
call fcn.004038d0
mov dword [ebp - 0x280], eax
cmp dword [ebp - 0x280], 0xffffffff
jne 0x4031c6
mov eax, dword [ebp + 0x20]
mov dword [eax], 0x278a
jmp 0x4034f2
mov ecx, dword [ebp - 0x280]
mov dword [ebp - 0x2c], ecx
push 0
push 0
lea edx, [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0xc]
push eax
call fcn.00404010
mov dword [ebp - 8], eax
mov dword [ebp - 4], 1
jmp 0x4034f2
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.004035b0
test eax, eax
jne 0x40320a
mov edx, dword [ebp + 0x20]
mov dword [edx], 0x278b
jmp 0x4034f2
mov eax, dword [ebp + 0x14]
push eax
call fcn.0040c280
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 0
ja 0x403230
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0x278b
jmp 0x4034f2
mov edx, dword [ebp + 0x18]
push edx
call fcn.004035b0
test eax, eax
jne 0x40324b
mov eax, dword [ebp + 0x20]
mov dword [eax], 0x278c
jmp 0x4034f2
mov ecx, dword [ebp + 0x18]
push ecx
call fcn.0040c280
mov dword [ebp - 0x284], eax
mov edx, dword [ebp + 0x1c]
push edx
call fcn.004035b0
test eax, eax
jne 0x403275
mov eax, dword [ebp + 0x20]
mov dword [eax], 0x278d
jmp 0x4034f2
mov ecx, dword [ebp + 0x1c]
push ecx
call fcn.0040c280
mov dword [ebp - 0x28c], eax
mov edx, dword [ebp - 0x288]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421be0]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x3c], eax
push 0
mov ecx, dword [ebp + 0x10]
push ecx
lea edx, [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0xc]
push eax
call fcn.00404010
mov dword [ebp - 8], eax
mov dword [ebp - 4], 1
jmp 0x4034f2
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.004035b0
test eax, eax
jne 0x4032e9
mov edx, dword [ebp + 0x20]
mov dword [edx], 0x2791
jmp 0x4034f2
mov eax, dword [ebp + 0x10]
push eax
call fcn.0040c280
mov dword [ebp - 0x290], eax
mov ecx, dword [ebp - 0x290]
mov dword [ebp - 0x2c8], ecx
cmp dword [ebp - 0x2c8], 3
ja case.default.0x403317
mov edx, dword [ebp - 0x2c8]
jmp dword [edx*4 + 0x403594]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax*4 + 0x421bc0]
mov dword [ecx + 0xf4], 0
mov dword [ebp - 0x20], 1
jmp 0x4033b2
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421bc0]
mov dword [eax + 0xf4], 1
push 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x421bc0]
mov eax, dword [edx + 0x1c]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.004042e0
mov dword [ebp - 0x20], eax
jmp 0x4033b2
push 0
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x421bc0]
mov ecx, dword [eax + 0x1c]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call fcn.004042e0
mov dword [ebp - 0x20], eax
jmp 0x4033b2
push 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax*4 + 0x421bc0]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ebp - 0xc]
push eax
call fcn.004042e0
mov dword [ebp - 0x20], eax
jmp 0x4033b2
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0x2791
jmp 0x4034f2
push 1
push 0
push 1
push 0
lea edx, [ebp - 0x1c]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.004036b0
test eax, eax
jne 0x4033de
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0x2792
jmp 0x4034f2
mov edx, dword [ebp + 0x10]
push edx
call fcn.004035b0
test eax, eax
jne 0x4033f9
mov eax, dword [ebp + 0x20]
mov dword [eax], 0x2793
jmp 0x4034f2
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0040c280
mov dword [ebp - 0x294], eax
cmp dword [ebp - 0x294], 1
jne 0x40341d
mov dword [ebp - 0x294], 7
jmp 0x40346a
cmp dword [ebp - 0x294], 2
jne 0x403432
mov dword [ebp - 0x294], 1
jmp 0x40346a
cmp dword [ebp - 0x294], 3
jne 0x403447
mov dword [ebp - 0x294], 3
jmp 0x40346a
cmp dword [ebp - 0x294], 0xffffffff
jne 0x40345c
mov dword [ebp - 0x294], 0
jmp 0x40346a
mov edx, dword [ebp + 0x20]
mov dword [edx], 0x2793
jmp 0x4034f2
mov dword [ebp - 0x2c0], 0x2c
lea eax, [ebp - 0x2c0]
push eax
mov ecx, dword [0x41c380]
push ecx
call dword [sym.imp.USER32.dll_GetWindowPlacement]
test eax, eax
je 0x4034c4
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x2a4], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2a0], eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x29c], ecx
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x298], edx
lea eax, [ebp - 0x2c0]
push eax
mov ecx, dword [0x41c380]
push ecx
call dword [sym.imp.USER32.dll_SetWindowPlacement]
mov edx, dword [ebp - 0x294]
push edx
mov eax, dword [0x41c380]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x4034e7
mov dword [ebp - 0x20], 1
jmp 0x4034f2
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0x2776
cmp dword [ebp - 8], 0
je 0x403505
cmp dword [ebp - 4], 0
je 0x403505
mov dword [ebp - 0x20], 1
cmp dword [ebp - 8], 0
jne 0x403518
mov edx, dword [ebp + 0x20]
mov dword [edx], 0x277c
xor eax, eax
jmp 0x40351b
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x54]
xor ecx, ebp
call fcn.0040fa05
mov esp, ebp
pop ebp
ret 0x1c