Function at 0x405ab0
Capabilities:
Accept command line arguments
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x422fe9
mov eax, dword fs:[0]
push eax
sub esp, 0xc8
mov eax, dword [0x430038]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xc4], ecx
mov esi, dword [ebp + 8]
mov eax, esi
cmp dword [esi + 0x14], 8
jb 0x405af1
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [esi + 0x14], 8
mov dword [ebp - 0x44], 0
jb 0x405b07
mov esi, dword [esi]
lea eax, [ebp - 0x44]
push eax
push esi
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ecx, eax
mov dword [ebp - 0xcc], ecx
test ecx, ecx
jne 0x405b25
xor al, al
jmp 0x406b82
xor bh, bh
mov dword [ebp - 0x7c], 0
xor eax, eax
mov byte [ebp - 0xbd], bh
mov dword [ebp - 0x78], 7
mov word [ebp - 0x8c], ax
mov dword [ebp - 4], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], 7
mov word [ebp - 0xa4], ax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], 7
mov word [ebp - 0xbc], ax
xor esi, esi
mov byte [ebp - 4], 2
cmp dword [ebp - 0x44], esi
jle 0x405e23
mov edx, dword [ecx + esi*4]
xor eax, eax
mov ecx, edx
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 7
mov word [ebp - 0x74], ax
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405ba0
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x74]
call fcn.00407aa0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x5c]
push 2
xor eax, eax
mov dword [ebp - 0x4c], 0
push 0x427904
mov dword [ebp - 0x48], 7
mov word [ebp - 0x5c], ax
call fcn.00407aa0
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00409450
add esp, 8
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x48]
test eax, eax
sete bl
cmp edx, 8
jb 0x405c37
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405c2d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405db2
push edx
push ecx
call fcn.004212e0
add esp, 8
test bl, bl
je 0x405c7e
lea edi, [esi + 1]
cmp edi, dword [ebp - 0x44]
jge 0x405d37
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax + esi*4 + 4]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405c56
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x8c]
call fcn.00407aa0
cmp dword [ebp - 0x94], 0
jmp 0x405d33
push 2
xor eax, eax
mov dword [ebp - 0x4c], 0
push 0x42790c
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x48], 7
mov word [ebp - 0x5c], ax
call fcn.00407aa0
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00409450
add esp, 8
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x48]
test eax, eax
sete bl
cmp edx, 8
jb 0x405cf8
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405cee
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405db2
push edx
push ecx
call fcn.004212e0
add esp, 8
test bl, bl
je 0x405d37
lea edi, [esi + 1]
cmp edi, dword [ebp - 0x44]
jge 0x405d37
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax + esi*4 + 4]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405d13
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0xa4]
call fcn.00407aa0
cmp dword [ebp - 0x7c], 0
jne 0x405d82
mov esi, edi
mov byte [ebp - 4], 2
inc esi
mov edx, dword [ebp - 0x60]
cmp edx, 8
jb 0x405d72
mov ecx, dword [ebp - 0x74]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405d68
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405db2
push edx
push ecx
call fcn.004212e0
add esp, 8
cmp esi, dword [ebp - 0x44]
jge 0x405dc2
mov ecx, dword [ebp - 0xcc]
jmp 0x405b84
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x60]
cmp edx, 8
jb 0x405dc2
mov ecx, dword [ebp - 0x74]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405db8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x405db8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.004212e0
add esp, 8
cmp dword [ebp - 0x7c], 0
je 0x405e1d
mov ebx, dword [ebp - 0xc4]
cmp dword [ebx + 0x64], 0
jne 0x405e17
cmp dword [ebp - 0x90], 8
lea ecx, [ebp - 0xa4]
lea eax, [ebp - 0x8c]
cmovae ecx, dword [ebp - 0xa4]
cmp dword [ebp - 0x78], 8
push ecx
cmovae eax, dword [ebp - 0x8c]
push eax
push dword [ebx + 0x10]
mov eax, dword [ebx + 0x2c]
call eax
mov dword [ebx + 0x64], 1
add esp, 0xc
mov bh, 1
mov byte [ebp - 0xbd], bh
jmp 0x405e1d
mov bh, byte [ebp - 0xbd]
mov ecx, dword [ebp - 0xcc]
xor esi, esi
mov al, bh
mov byte [ebp - 0xcd], al
cmp dword [ebp - 0x44], esi
jle 0x406958
mov edx, dword [ecx + esi*4]
lea eax, [ecx + esi*4]
mov ecx, edx
mov dword [ebp - 0xc8], eax
xor eax, eax
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 7
mov word [ebp - 0x74], ax
lea edi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405e60
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x74]
call fcn.00407aa0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x5c]
push 5
xor eax, eax
mov dword [ebp - 0x4c], 0
push str._text
mov dword [ebp - 0x48], 7
mov word [ebp - 0x5c], ax
call fcn.00407aa0
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00409450
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x48]
test eax, eax
sete bl
cmp edx, 8
jb 0x405ef7
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405eed
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405db2
push edx
push ecx
call fcn.004212e0
add esp, 8
test bl, bl
je 0x405f57
inc esi
cmp esi, dword [ebp - 0x44]
jge 0x406903
mov eax, dword [ebp - 0xc8]
mov edx, dword [eax + 4]
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405f13
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0xbc]
call fcn.00407aa0
cmp dword [ebp - 0xa8], 8
lea eax, [ebp - 0xbc]
cmovae eax, dword [ebp - 0xbc]
push eax
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + 0x38]
call eax
add esp, 4
jmp 0x406903
push 4
xor eax, eax
mov dword [ebp - 0x4c], 0
push str._obk
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x48], 7
mov word [ebp - 0x5c], ax
call fcn.00407aa0
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00409450
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x48]
test eax, eax
sete bl
cmp edx, 8
jb 0x405fd1
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405fc7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405db2
push edx
push ecx
call fcn.004212e0
add esp, 8
test bl, bl
je 0x406014
inc esi
cmp esi, dword [ebp - 0x44]
jge 0x406903
mov eax, dword [ebp - 0xc8]
mov edx, dword [eax + 4]
mov ecx, edx
lea edi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405ff0
mov eax, dword [ebp - 0xc4]
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [eax + 0x68]
call fcn.00407aa0
jmp 0x406903
push 4
xor eax, eax
mov dword [ebp - 0x4c], 0
push str._ofg
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x48], 7
mov word [ebp - 0x5c], ax
call fcn.00407aa0
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00409450
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x48]
test eax, eax
sete bl
cmp edx, 8
jb 0x40608e
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406084
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405db2
push edx
push ecx
call fcn.004212e0
add esp, 8
test bl, bl
je 0x4060d7
inc esi
cmp esi, dword [ebp - 0x44]
jge 0x406903
mov eax, dword [ebp - 0xc8]
mov edx, dword [eax + 4]
mov ecx, edx
lea edi, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4060b0
mov eax, dword [ebp - 0xc4]
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [eax + 0x80]
call fcn.00407aa0
jmp 0x406903
push 2
xor eax, eax
mov dword [ebp - 0x4c], 0
push 0x427938
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x48], 7
mov word [ebp - 0x5c], ax
call fcn.00407aa0
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00409450
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x48]
test eax, eax
sete bl
cmp edx, 8
jb 0x406151
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406147
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405db2
push edx
push ecx
call fcn.004212e0
add esp, 8
test bl, bl
je 0x406182
inc esi
cmp esi, dword [ebp - 0x44]
jge 0x406903
mov eax, dword [ebp - 0xc8]
push dword [eax + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
mov ecx, dword [ebp - 0xc4]
add esp, 4
mov dword [ecx + 0xb8], eax
jmp 0x406903
push 2
xor eax, eax
mov dword [ebp - 0x4c], 0
push 0x427940
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x48], 7
mov word [ebp - 0x5c], ax
call fcn.00407aa0
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00409450
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x48]
test eax, eax
sete bl
cmp edx, 8
jb 0x4061fc
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4061f2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405db2
push edx
push ecx
call fcn.004212e0
add esp, 8
test bl, bl
je 0x40622d
inc esi
cmp esi, dword [ebp - 0x44]
jge 0x406903
mov eax, dword [ebp - 0xc8]
push dword [eax + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
mov ecx, dword [ebp - 0xc4]
add esp, 4
mov dword [ecx + 0xbc], eax
jmp 0x406903
push 5
xor eax, eax
mov dword [ebp - 0x4c], 0
push str._type
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x48], 7
mov word [ebp - 0x5c], ax
call fcn.00407aa0
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00409450
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x48]
test eax, eax
sete bl
cmp edx, 8
jb 0x4062a7
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40629d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405db2
push edx
push ecx
call fcn.004212e0
add esp, 8
test bl, bl
je 0x4062de
inc esi
cmp esi, dword [ebp - 0x44]
jge 0x406903
mov eax, dword [ebp - 0xc8]
push dword [eax + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
mov ecx, dword [ebp - 0xc4]
push eax
mov dword [ecx + 0x98], eax
mov eax, dword [ecx + 0x48]
call eax
add esp, 8
jmp 0x406903
push str._model
lea ecx, [ebp - 0x5c]
call fcn.00406d00
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00409450
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x48]
test eax, eax
sete bl
cmp edx, 8
jb 0x406342
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406338
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405db2
push edx
push ecx
call fcn.004212e0
add esp, 8
test bl, bl
je 0x406379
inc esi
cmp esi, dword [ebp - 0x44]
jge 0x406903
mov eax, dword [ebp - 0xc8]
push dword [eax + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
mov ecx, dword [ebp - 0xc4]
push eax
mov dword [ecx + 0x9c], eax
mov eax, dword [ecx + 0x4c]
call eax
add esp, 8
jmp 0x406903
push str._sacle
lea ecx, [ebp - 0x5c]
call fcn.00406d00
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00409450
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x48]
test eax, eax
sete bl
cmp edx, 8
jb 0x4063dd
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4063d3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405db2
push edx
push ecx
call fcn.004212e0
add esp, 8
test bl, bl
je 0x40642b
inc esi
cmp esi, dword [ebp - 0x44]
jge 0x406903
mov eax, dword [ebp - 0xc8]
push dword [eax + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
push ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov eax, dword [ebp - 0xc4]
divsd xmm0, qword [0x4290b0]
movsd qword [eax + 0xa0], xmm0
mov eax, dword [eax + 0x50]
movsd qword [esp], xmm0
call eax
add esp, 8
jmp 0x406903
push str._opacity
lea ecx, [ebp - 0x5c]
call fcn.00406d00
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00409450
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x48]
test eax, eax
sete bl
cmp edx, 8
jb 0x40648f
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406485
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405db2
push edx
push ecx
call fcn.004212e0
add esp, 8
test bl, bl
je 0x4064dd
inc esi
cmp esi, dword [ebp - 0x44]
jge 0x406903
mov eax, dword [ebp - 0xc8]
push dword [eax + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
push ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov eax, dword [ebp - 0xc4]
divsd xmm0, qword [0x4290b0]
movsd qword [eax + 0xa8], xmm0
mov eax, dword [eax + 0x54]
movsd qword [esp], xmm0
call eax
add esp, 8
jmp 0x406903
push str._angle
lea ecx, [ebp - 0x5c]
call fcn.00406d00
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00409450
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x48]
test eax, eax
sete bl
cmp edx, 8
jb 0x406541
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406537
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405db2
push edx
push ecx
call fcn.004212e0
add esp, 8
test bl, bl
je 0x406585
inc esi
cmp esi, dword [ebp - 0x44]
jge 0x406903
mov eax, dword [ebp - 0xc8]
push dword [eax + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
mov ecx, dword [ebp - 0xc4]
push ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov dword [ecx + 0xb0], eax
mov eax, dword [ecx + 0x44]
movsd qword [esp], xmm0
call eax
add esp, 8
jmp 0x406903
push str._imagepath
lea ecx, [ebp - 0x5c]
call fcn.00406d00
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x11
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00409450
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x48]
test eax, eax
sete bl
cmp edx, 8
jb 0x4065e9
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4065df
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405db2
push edx
push ecx
call fcn.004212e0
add esp, 8
test bl, bl
je 0x406671
inc esi
cmp esi, dword [ebp - 0x44]
jge 0x406903
mov eax, dword [ebp - 0xc8]
lea ecx, [ebp - 0x5c]
push dword [eax + 4]
call fcn.00406d00
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x5c]
cmp dword [ebp - 0x48], 8
cmovae eax, dword [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + 0x40]
call eax
mov byte [ebp - 4], 6
add esp, 4
mov edx, dword [ebp - 0x48]
cmp edx, 8
jb 0x406903
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406662
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405db2
push edx
push ecx
call fcn.004212e0
add esp, 8
jmp 0x406903
push str._textcolor
lea ecx, [ebp - 0x5c]
call fcn.00406d00
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00409450
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x48]
test eax, eax
sete bl
cmp edx, 8
jb 0x4066d5
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4066cb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405db2
push edx
push ecx
call fcn.004212e0
add esp, 8
test bl, bl
je 0x4067f1
inc esi
cmp esi, dword [ebp - 0x44]
jge 0x406903
mov eax, dword [ebp - 0xc8]
push dword [eax + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtol]
mov ebx, dword [ebp - 0xc4]
push eax
mov dword [ebx + 0xb4], eax
mov eax, dword [ebx + 0x58]
call eax
mov ecx, dword [ebx + 0xb4]
lea edi, [ebp - 0x16]
add esp, 8
test ecx, ecx
jns 0x406750
neg ecx
nop word [eax + eax]
mov eax, 0xcccccccd
sub edi, 2
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
add ecx, 0x30
mov word [edi], cx
mov ecx, edx
test ecx, ecx
jne 0x406720
add edi, 0xfffffffe
mov eax, 0x2d
mov word [edi], ax
jmp 0x406770
mov eax, 0xcccccccd
sub edi, 2
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
add ecx, 0x30
mov word [edi], cx
mov ecx, edx
test ecx, ecx
jne 0x406750
xor eax, eax
mov dword [ebp - 0x4c], 0
mov word [ebp - 0x5c], ax
mov ecx, 7
lea eax, [ebp - 0x16]
mov dword [ebp - 0x48], ecx
cmp edi, eax
je 0x40679d
sub eax, edi
lea ecx, [ebp - 0x5c]
sar eax, 1
push eax
push edi
call fcn.00407aa0
mov ecx, dword [ebp - 0x48]
cmp ecx, 8
lea eax, [ebp - 0x5c]
cmovae eax, dword [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov edx, dword [ebp - 0x48]
cmp edx, 8
jb 0x406903
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4067e2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405db2
push edx
push ecx
call fcn.004212e0
add esp, 8
jmp 0x406903
push str._show
lea ecx, [ebp - 0x5c]
call fcn.00406d00
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00409450
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x48]
test eax, eax
sete bl
cmp edx, 8
jb 0x406855
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40684b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405db2
push edx
push ecx
call fcn.004212e0
add esp, 8
test bl, bl
je 0x406866
mov bh, 1
mov byte [ebp - 0xbd], bh
jmp 0x406903
push str._hWnd
lea ecx, [ebp - 0x5c]
call fcn.00406d00
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00409450
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x48]
test eax, eax
sete bl
cmp edx, 8
jb 0x4068ca
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4068c0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405db2
push edx
push ecx
call fcn.004212e0
add esp, 8
test bl, bl
je 0x406903
inc esi
cmp esi, dword [ebp - 0x44]
jge 0x406903
mov eax, dword [ebp - 0xc8]
push dword [eax + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi64]
mov ecx, dword [ebp - 0xc4]
add esp, 4
push 0
push dword [ecx + 0xc]
mov dword [ecx + 0xc0], eax
push 0x7e9
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov byte [ebp - 4], 2
inc esi
mov edx, dword [ebp - 0x60]
cmp edx, 8
jb 0x406942
mov ecx, dword [ebp - 0x74]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406938
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405db2
push edx
push ecx
call fcn.004212e0
add esp, 8
cmp esi, dword [ebp - 0x44]
jge 0x406952
mov ecx, dword [ebp - 0xcc]
jmp 0x405e36
mov al, byte [ebp - 0xcd]
mov ebx, dword [ebp - 0xc4]
test al, al
je 0x40699b
cmp dword [ebx + 0x7c], 8
lea eax, [ebx + 0x68]
jb 0x40696d
mov eax, dword [eax]
push 1
push dword [ebx + 0xbc]
push dword [ebx + 0xb8]
push eax
mov eax, dword [ebx + 0x34]
push 0
call eax
add esp, 0x14
push 0
push 1
push 0x7e8
push dword [ebx + 0xc0]
call dword [sym.imp.USER32.dll_PostMessageW]
cmp byte [ebp - 0xbd], 0
je 0x406b52
mov esi, dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
call esi
cmp dword [ebx + 0x94], 8
lea ecx, [ebx + 0x80]
mov edi, eax
jb 0x4069c3
mov ecx, dword [ecx]
mov eax, dword [ebx + 0x34]
push 0
push dword [ebx + 0xbc]
push dword [ebx + 0xb8]
push ecx
push 0
call eax
add esp, 0x14
call esi
sub eax, edi
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], 0
movd xmm0, eax
cvtdq2pd xmm1, xmm0
divsd xmm1, qword [0x4290b8]
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x16
call fcn.00401ff0
mov edi, eax
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x60]
mov ecx, edx
mov ebx, dword [ebp - 0x64]
sub ecx, ebx
push 0xd
push 0x4279e0
cmp ecx, 0xd
jb 0x406a50
cmp edx, 0x10
lea esi, [ebp - 0x74]
lea eax, [ebx + 0xd]
cmovae esi, dword [ebp - 0x74]
mov dword [ebp - 0x64], eax
lea eax, [ebx + esi]
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + ebx + 0xd], 0
lea ecx, [ebp - 0x74]
jmp 0x406a69
mov byte [ebp - 0xc8], 0
lea ecx, [ebp - 0x74]
push dword [ebp - 0xc8]
push 0xd
call fcn.004089b0
mov ecx, eax
cmp dword [edi + 0x14], 0x10
mov edx, edi
jb 0x406a73
mov edx, dword [edi]
mov ebx, dword [ecx + 0x14]
mov eax, ebx
mov esi, dword [ecx + 0x10]
sub eax, esi
mov edi, dword [edi + 0x10]
cmp edi, eax
ja 0x406aa4
lea eax, [esi + edi]
mov dword [ecx + 0x10], eax
cmp ebx, 0x10
jb 0x406a91
mov ecx, dword [ecx]
push edi
add esi, ecx
push edx
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x406ab9
push edi
push edx
mov byte [ebp - 0xc8], 0
push dword [ebp - 0xc8]
push edi
call fcn.004089b0
mov edx, dword [ebp - 0x48]
cmp edx, 0x10
jb 0x406aef
mov ecx, dword [ebp - 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406ae5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x406ae5
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.004212e0
add esp, 8
cmp dword [ebp - 0x60], 0x10
lea eax, [ebp - 0x74]
cmovae eax, dword [ebp - 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [ebp - 0xc4]
push 0
push 0
push 0x7e8
push dword [eax + 0xc0]
call dword [sym.imp.USER32.dll_PostMessageW]
mov edx, dword [ebp - 0x60]
cmp edx, 0x10
jb 0x406b52
mov ecx, dword [ebp - 0x74]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406b48
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x406b48
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.004212e0
add esp, 8
mov eax, dword [ebp - 0xcc]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea ecx, [ebp - 0xbc]
call fcn.00406c60
lea ecx, [ebp - 0xa4]
call fcn.00406c60
lea ecx, [ebp - 0x8c]
call fcn.00406c60
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004210a4
mov esp, ebp
pop ebp
ret 4