Function at 0x401e7d
Capabilities:
Accept command line arguments
Check for time delay via gettickcount
Compare security identifiers
Delete file
Get common file path
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xcf0
push ebx
push esi
push edi
push 3
pop esi
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x64c]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0x66a756a3
push esi
mov byte [ebp - 0x61], dl
call fcn.00413ed8
push 2
lea ecx, [ebp - 0x634]
call fcn.00413ed8
mov dword [ebp - 0x1c], 0x65c2dd7
xor eax, eax
mov dword [ebp - 0x38], 0x1eb6
mov dword [ebp - 0x20], 6
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], esi
jge 0x401ef2
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x64c]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x401ed8
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x401f0a
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x634]
mov dword [eax + ecx*4], 0x714ad38d
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x401ef7
mov eax, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x64c]
push 9
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x634]
cmp dword [eax], ecx
pop ecx
setne dl
xor eax, eax
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x24], eax
jmp 0x401f75
mov dword [ebp - 0x38], 0xac3dc99c
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], esi
jge 0x401f6f
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xc8c], 0xbb4f5ac3
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x401f57
xor eax, eax
dec dword [ebp - 0x20]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x401f48
lea ecx, [ebp - 0x634]
call fcn.0041431c
lea ecx, [ebp - 0x64c]
call fcn.0041431c
mov dword [ebp - 0x24], 0xe3580d4
lea ecx, [ebp - 0x664]
xor ebx, ebx
mov dword [ebp - 0x14], 0xb79f6a71
inc ebx
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x20], ebx
push esi
call fcn.00413ed8
mov dword [ebp - 0x10], 0xfb07d0d1
mov eax, 0x761ac7eb
mov dword [ebp - 0x7f4], eax
mov dword [ebp - 0x7f0], eax
mov dword [ebp - 0x7ec], eax
mov dword [ebp - 0x7e8], eax
xor eax, eax
push 4
mov dword [ebp - 0xc], eax
pop edi
cmp dword [ebp - 0xc], edi
jge 0x402000
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x2c4], 0x6c715341
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x401fe8
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x402014
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x664]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x402005
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x14], 0xfffffff7
mov eax, dword [ebp - 0x24]
test eax, eax
sets cl
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x20]
cmp eax, 0x2c44
setl cl
xor eax, eax
imul ecx, dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], eax
je 0x402052
mov edx, ebx
cmp dword [ebp - 0x14], eax
jne 0x402054
mov edx, eax
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
push 9
sete cl
add eax, dword [ebp - 0x24]
imul ecx, eax
xor eax, eax
add ecx, 0x34859bb
cmp ecx, 0x3b16aac8
pop ecx
setge al
cmp ecx, eax
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x664]
sbb edx, edx
xor ecx, ecx
neg edx
mov dword [eax], edx
mov eax, dword [ebp - 0x24]
cmp edx, eax
setl cl
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x7f4], eax
xor eax, eax
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], eax
jl 0x40212c
mov dword [ebp - 0x18], 0xdb9bec7a
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x2c4]
mov edx, dword [ebp - 0x2bc]
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov eax, dword [ebp + eax*4 - 0x2c4]
cmp edx, eax
mov eax, dword [ebp - 0x10]
sete cl
xor edx, edx
cmp eax, ecx
setl dl
imul edx, dword [ebp - 0x24]
sub edx, dword [ebp - 0x18]
je 0x4020f5
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x2c4]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x2c4]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2c4], 0
xor eax, eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x402127
call dword [sym.imp.KERNEL32.dll_GetLastError]
dec dword [ebp - 0x14]
jns 0x4020af
lea ecx, [ebp - 0x664]
call fcn.0041431c
push 9
pop ecx
mov dword [ebp - 0x14], ecx
xor eax, eax
mov dword [ebp - 0x10], 0x4e20eeb
mov dword [ebp - 0x3c], 0x38fd2320
mov dword [ebp - 0x14], eax
jmp 0x4023a9
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], esi
jge 0x40217c
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x184], 0xfffffff6
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x402164
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ecx
je 0x4023a6
mov dword [ebp - 0xc], 0xffffffff
cmp dword [ebp - 0x14], eax
je 0x402199
mov eax, dword [ebp - 0xc]
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x4021c2
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x4021b2
cmp dword [ebp - 0xc], eax
je 0x4021b2
mov eax, ebx
add eax, 0x53f0d3ec
mov dword [ebp - 0x184], eax
je 0x4021c2
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x14]
je 0x40238c
mov dword [ebp - 0x1c], 0x7758a8c
lea ecx, [ebp - 0x500]
push edi
call fcn.00413ed8
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], edi
jge 0x402208
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x500]
mov dword [eax + ecx*4], 0x600bf094
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x4021ee
xor eax, eax
mov dword [ebp - 0xc], 2
cmp dword [ebp - 0xc], eax
jl 0x40237c
lea edi, [ebp - 0xab8]
lea ecx, [ebp - 0xaa8]
movdqa xmm0, xmmword [0xaba8e0]
lea eax, [ebp - 0xc5]
push eax
push ecx
push edi
lea ecx, [ebp - 0x67c]
movdqu xmmword [ebp - 0xab8], xmm0
call fcn.00413f4b
mov esi, dword [ebp - 0x67c]
xor eax, eax
mov dword [esi + 4], eax
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + eax*4 - 0x184]
mov eax, dword [esi + 4]
cmp dword [ebp + eax*4 - 0x184], ecx
jl 0x402329
xor eax, eax
mov dword [ebp - 0x20], 0xfffffff8
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x40228e
push 0x14d5
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov eax, dword [ebp - 0x10]
xor edx, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x67c]
cmp dword [eax + 8], 8
mov eax, dword [ebp - 0xc]
setl dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x184]
cmp eax, edx
setle cl
xor edx, edx
add ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x500]
cmp ecx, dword [eax]
setne dl
xor ecx, ecx
mov dword [eax], edx
mov eax, dword [ebp - 0x10]
cmp edx, eax
mov eax, dword [ebp - 0x20]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x184]
mov edx, 0x41e56eb4
setg cl
xor ebx, ebx
sub edx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xc]
setge bl
xor ecx, ecx
inc ecx
xor edx, edx
mov dword [ebp + eax*4 - 0x184], ebx
sub ecx, ebx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setle dl
sub edx, 0x8af1
neg edx
sbb edx, edx
xor ebx, ebx
add edx, 0xffff52ae
inc ebx
mov dword [ebp - 0x18], edx
jmp 0x402352
xor eax, eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x402339
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x500]
mov dword [eax], ecx
mov eax, dword [ebp - 0x14]
add eax, ecx
mov dword [ebp - 0x184], eax
inc dword [esi + 4]
cmp dword [esi + 4], 2
jle 0x402253
lea ecx, [ebp - 0x67c]
call fcn.0041431c
dec dword [ebp - 0xc]
lea ecx, [ebp - 0xaa8]
jns 0x402224
push 4
pop edi
lea ecx, [ebp - 0x500]
call fcn.0041431c
push 9
pop ecx
jmp 0x402392
cmp dword [ebp - 0x3c], 0
jne 0x4023a1
inc dword [ebp - 0x24]
push 0
pop eax
cmp dword [ebp - 0x24], ecx
jne 0x402188
push 3
xor eax, eax
pop esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x14
jg 0x402155
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x28], 0xffffffff
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x4023e5
push eax
push 0x1217
push 0xc82
push eax
push 0x7b0
push 0x719
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x4023f9
mov dword [ebp - 0x1c], 6
cmp dword [ebp - 0x1c], eax
jne 0x4023ff
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff8
jle 0x4023ea
mov dword [ebp - 0x2c], 0x66a756a3
lea ecx, [ebp - 0x124]
push edi
call fcn.00413ed8
push 9
mov dword [ebp - 0x34], 0x66fe7d8a
pop eax
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], edi
jge 0x40243f
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x124]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x402429
xor eax, eax
mov dword [ebp - 0x34], eax
push 0xfffffffffffffffc
pop edx
cmp dword [ebp - 0x34], esi
jg 0x402600
mov edi, dword [ebp - 0x124]
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x20], 0x57a55752
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jg 0x4025ed
mov edi, 0x919c44d4
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x2dc], edx
mov dword [ebp - 0x2d8], edx
mov dword [ebp - 0x2d4], edx
mov dword [ebp - 0x2d0], edx
mov dword [ebp - 0x24], eax
jmp 0x402530
mov dword [ebp - 0xc], edx
mov dword [ebp - 0xc], esi
cmp dword [ebp - 0xc], eax
jl 0x4024c8
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x124]
mov edx, dword [ebp - 0x124]
mov eax, dword [eax + ecx*4]
mov dword [edx + esi*4], eax
mov dword [ebp - 0x2dc], eax
dec dword [ebp - 0xc]
jns 0x4024a0
push 3
xor eax, eax
pop esi
mov dword [ebp - 0xc], eax
jmp 0x402525
mov dword [ebp - 0x30], 0x969161d5
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], esi
jg 0x4024f5
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x124]
cmp dword [eax + ecx*4], 0
jne 0x4024f3
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], esi
jle 0x4024dc
xor eax, eax
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x30], eax
jl 0x402522
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x40251d
push 0xc1e
push 0x3d3
push 0x44b
call dword [sym.imp.GDI32.dll_GetPixel]
xor eax, eax
dec dword [ebp - 0x30]
jns 0x4024fd
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jle 0x4024cd
inc dword [ebp - 0x24]
push 0xfffffffffffffffc
pop edx
cmp dword [ebp - 0x24], esi
jle 0x402495
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x2dc]
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
neg esi
mov eax, dword [ebp - 0x2dc]
sbb esi, esi
xor ecx, ecx
neg esi
sub esi, eax
mov eax, dword [ebp - 0x124]
cmp dword [eax + edx*4], esi
mov eax, dword [ebp - 0x20]
setge cl
cmp edi, ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
setg dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x124]
setne bl
mov dword [eax + ecx*4], ebx
xor ecx, ecx
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
add edx, 0x68d9a65c
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0x34]
jne 0x4025cd
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x124]
cmp dword [eax + ecx*4], edx
jne 0x4025cd
xor ebx, ebx
mov eax, edx
inc ebx
jmp 0x4025d2
xor ebx, ebx
inc ebx
mov eax, ebx
push 3
pop esi
push 0
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0x14]
pop eax
push 0xfffffffffffffffc
pop edx
cmp dword [ebp - 0x14], esi
jle 0x402472
mov edi, dword [ebp - 0x10]
mov dword [edi + 0xc], 0xfffffffa
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], esi
jle 0x402457
lea ecx, [ebp - 0x124]
call fcn.0041431c
push esi
lea ecx, [ebp - 0x6f4]
call fcn.00413ed8
xor eax, eax
mov dword [ebp - 0x20], 0x9eeda585
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x402640
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1c0], 0x888a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x402628
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x402660
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xbb0], 0x57f451d5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x402648
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x402676
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb98], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x402665
mov eax, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x20], ebx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0xbac], ecx
mov eax, dword [ebp - 0x1bc]
sub ecx, eax
xor eax, eax
cmp ecx, dword [ebp - 0x1c0]
jle 0x4026af
mov ecx, ebx
cmp dword [ebp - 0x1b8], eax
jne 0x4026b1
mov ecx, eax
xor eax, eax
cmp ecx, 0x7a67
push 2
setg al
xor edx, edx
test eax, eax
mov eax, dword [ebp - 0x1b8]
pop edi
sets dl
xor ecx, ecx
add edx, 0x3d87e3bc
cmp edx, eax
mov eax, dword [ebp - 0x1b8]
push edi
setle cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x1b8]
lea ecx, [ebp - 0x55c]
setne dl
sub edx, eax
cmp ebx, edx
sbb eax, eax
inc eax
mov dword [ebp - 0xb94], eax
call fcn.00413ed8
push edi
lea ecx, [ebp - 0xa60]
call fcn.00413ed8
mov dword [ebp - 0x2c], 0x57976326
lea ecx, [ebp - 0x9c4]
push 4
call fcn.00413ed8
mov dword [ebp - 0x38], 0x8f4e1c2e
lea ecx, [ebp - 0xaa8]
push 4
call fcn.00413ed8
xor eax, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x14], eax
mov edx, 0xffff
cmp dword [ebp - 0x14], edi
jge 0x402761
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xa60]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x40274b
xor eax, eax
push 4
mov dword [ebp - 0x14], eax
pop edx
cmp dword [ebp - 0x14], edx
jge 0x402786
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x9c4]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x40276c
xor eax, eax
mov dword [ebp - 0x14], eax
push 0xfffffffffffffff7
pop edi
cmp dword [ebp - 0x14], edx
jge 0x4027a7
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xaa8]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x402791
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x4027f5
mov dword [ebp - 0x38], 0x696a485b
lea ecx, [ebp - 0x938]
push ebx
call fcn.00413ed8
xor eax, eax
mov dword [ebp - 0x38], 0x18e
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x28], eax
jmp 0x4027df
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x938]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jl 0x4027d0
inc dword [ebp - 0x20]
lea ecx, [ebp - 0x938]
call fcn.0041431c
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jle 0x4027ac
lea ecx, [ebp - 0xaa8]
call fcn.0041431c
lea ecx, [ebp - 0x9c4]
call fcn.0041431c
lea ecx, [ebp - 0xa60]
call fcn.0041431c
movdqa xmm0, xmmword [0xaba900]
lea eax, [ebp - 0x105]
push eax
lea ecx, [ebp - 0xb4c]
mov dword [ebp - 0x20], 0x65c2dd7
push ecx
lea edx, [ebp - 0xb5c]
mov dword [ebp - 0x38], 0x1eb6
push edx
lea ecx, [ebp - 0x1ec]
movdqu xmmword [ebp - 0xb5c], xmm0
call fcn.00413f4b
mov dword [ebp - 0x30], 0x1dba3399
lea ecx, [ebp - 0x488]
mov dword [ebp - 0x14], 0x274b
mov dword [ebp - 0x404], edi
mov dword [ebp - 0x400], edi
mov dword [ebp - 0x3fc], edi
mov dword [ebp - 0x3f8], edi
mov dword [ebp - 0x38], 0xffffffff
push ebx
call fcn.00413ed8
mov dword [ebp - 0x10], 0xfffffffa
xor eax, eax
mov dword [ebp - 0x1c], 0x5c15dc1c
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jge 0x4028c1
push 9
pop edi
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x488]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jl 0x4028ad
mov edi, dword [ebp - 0x1ec]
mov eax, dword [edi + 4]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1ec]
cmp dword [eax + 0xc], 0
je 0x4028e8
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x4028f1
jmp 0x4028ea
xor eax, eax
mov ecx, eax
cmp dword [edi + 4], eax
je 0x4028f3
mov ecx, ebx
mov eax, dword [ebp - 0x30]
sub ecx, eax
je 0x402905
xor eax, eax
cmp dword [edi + 4], eax
je 0x402907
mov ecx, ebx
jmp 0x402909
xor eax, eax
mov ecx, eax
neg ecx
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0xb0a
setl al
xor ecx, ecx
cmp eax, dword [edi + 4]
mov eax, dword [ebp - 0x14]
setle cl
add eax, ecx
je 0x402a75
mov dword [ebp - 0x1c], 0xbb2f
xor eax, eax
mov dword [ebp - 0x10], 0xef906d8b
mov dword [ebp - 0x18], 0xfffffff9
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], eax
jl 0x402b84
push 4
lea ecx, [ebp - 0x694]
call fcn.00413ed8
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x402979
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x694]
mov dword [eax + ecx*4], 0x1d0b
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x402966
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1ec]
cmp dword [eax + ecx*4], 0
jne 0x402a44
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x402a44
mov eax, dword [ebp - 0x1ec]
xor edx, edx
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x2f8], ebx
mov dword [ebp - 0x2f4], ebx
mov eax, dword [eax + 8]
mov dword [ebp - 0x2f0], ebx
mov dword [ebp - 0x2ec], ebx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setl dl
xor ecx, ecx
cmp eax, edx
setle cl
neg ecx
jne 0x4029ef
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x694]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2ec]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2ec]
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2f0]
neg ecx
cmp ecx, eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1ec]
setge dl
imul ecx, edx
xor edx, edx
cmp ecx, dword [eax + esi*4]
setle dl
mov dword [ebp - 0x30], edx
jmp 0x402a53
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [edi + 4]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x404]
lea ecx, [ebp - 0x694]
call fcn.0041431c
dec dword [ebp - 0x14]
jns 0x402952
push 3
pop esi
jmp 0x402b84
mov dword [ebp - 0x20], 0x2f23
lea ecx, [ebp - 0x19c]
push ebx
call fcn.00413ed8
mov dword [ebp - 0x2c], ebx
xor eax, eax
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x28], eax
jmp 0x402aac
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x19c]
mov dword [eax + ecx*4], 0x28a21817
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jl 0x402a99
mov eax, dword [ebp - 0x488]
xor edx, edx
mov ecx, dword [edi + 4]
push 0
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x19c]
setle dl
add edx, dword [eax]
mov eax, dword [ebp - 0x20]
sub edx, eax
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x404]
mov eax, dword [ebp - 0x10]
pop eax
setns al
cmp eax, 0x8302a6f4
ja 0x402afb
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x402afd
mov ecx, ebx
jmp 0x402aff
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x19c]
xor ebx, ebx
mov dword [eax], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x20]
cmp dword [edi + 4], ebx
sete cl
xor edx, edx
cmp ecx, eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x19c]
setg dl
imul edx, dword [eax]
mov eax, dword [ebp - 0x19c]
add ecx, edx
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x488]
setg dl
mov dword [ebp - 0x18], edx
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [ebp - 0x10]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x19c]
setne cl
xor edx, edx
cmp ecx, dword [eax]
mov ecx, 0xe5f641d3
mov eax, dword [ebp - 0x18]
setge dl
cmp ecx, eax
sbb eax, eax
neg eax
lea ecx, [eax - 7]
mov eax, dword [ebp - 0x19c]
add ecx, edx
mov dword [eax], ecx
lea ecx, [ebp - 0x19c]
call fcn.0041431c
inc ebx
lea ecx, [ebp - 0x488]
call fcn.0041431c
lea ecx, [ebp - 0x1ec]
call fcn.0041431c
mov dword [ebp - 0x1c], 6
xor eax, eax
mov dword [ebp - 0x28], 0x31713b91
mov dword [ebp - 0x28], eax
jmp 0x402bda
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x402bc0
call dword [sym.imp.KERNEL32.dll_GetACP]
xor eax, eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x402bd7
push 0x2018
push eax
call dword [sym.imp.USER32.dll_CharLowerBuffW]
xor eax, eax
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffe4
jl 0x402baf
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], esi
jge 0x402c02
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x6f4]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x402be8
xor eax, eax
mov dword [ebp - 0x38], 0xffffffff
push 0xfffffffffffffff9
pop ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x38], 0x24ce5545
mov dword [ebp - 0x38], 0xc4f3f7e8
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], 0x5077045b
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x38], 0x1fcc1031
mov dword [ebp - 0x38], 0x6fa66fa4
mov dword [ebp - 0x28], eax
jmp 0x402c54
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x270], 0xad313dd3
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x402c43
mov dword [ebp - 0x270], 0xb
cmp dword [ebp - 0x270], ecx
jne 0x402d79
lea esi, [ebp - 0xb3c]
lea edi, [ebp - 0xb2c]
movdqa xmm0, xmmword [0xaba8c0]
lea eax, [ebp - 0xc7]
push eax
push edi
mov dword [ebp - 0x2c], 0xffffffff
lea ecx, [ebp - 0xbc8]
push esi
movdqu xmmword [ebp - 0xb3c], xmm0
call fcn.00413f4b
mov dword [ebp - 0x2c], 0xffffffeb
jmp 0x402d48
push 4
lea ecx, [ebp - 0x6ac]
call fcn.00413ed8
mov dword [ebp - 0x38], 0xffffffff
xor eax, eax
mov dword [ebp - 0x38], 0x2e65251c
mov dword [ebp - 0x38], 0xfffffffe
mov dword [ebp - 0x38], 0xfffffff7
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x38], 0xdb7b2415
mov dword [ebp - 0x38], 0xc105a83d
mov dword [ebp - 0x38], 0x5fec46bc
mov dword [ebp - 0x38], 0x28451d77
mov dword [ebp - 0x38], 0xac254176
mov dword [ebp - 0x20], 0x3053bf84
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 4
jge 0x402d2f
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x6ac]
and dword [eax + ecx*4], 0
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x402d17
xor eax, eax
inc dword [ebp - 0x20]
lea ecx, [ebp - 0x6ac]
cmp dword [ebp - 0x26c], eax
jne 0x402d53
call fcn.0041431c
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jg 0x402cb2
jmp 0x402d58
call fcn.0041431c
lea ecx, [ebp - 0xbc8]
call fcn.0041431c
dec dword [ebp - 0x270]
cmp dword [ebp - 0x270], 0xfffffff9
je 0x402c7b
push 3
pop esi
xor eax, eax
push 2
mov dword [ebp - 0xc], eax
pop edi
jmp 0x402d96
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x55c]
mov dword [eax + ecx*4], 0x714ad38d
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x402d83
mov dword [ebp - 0xc], ebx
lea ecx, [ebp - 0x364]
mov dword [ebp - 0x14], 0xfffffffb
push edi
call fcn.00413ed8
mov dword [ebp - 0x20], 0xfa1a8f1
mov eax, 0xffff
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x10], 0x477a75e3
mov dword [ebp - 0x28], eax
jmp 0x402ddd
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x364]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x402dce
mov eax, dword [ebp - 0xc]
xor ecx, ecx
mov eax, dword [ebp - 0xc]
cmp eax, 4
setge cl
add ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0xc]
jne 0x402dff
xor eax, eax
cmp dword [ebp - 0xc], eax
je 0x402e01
mov eax, ebx
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x402f25
mov dword [ebp - 0x2c], ebx
lea ecx, [ebp - 0x6c4]
push ebx
call fcn.00413ed8
xor eax, eax
mov dword [ebp - 0x10], 0xfffffffe
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jge 0x402e49
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x6c4]
mov dword [eax + ecx*4], 0x1bd53d2a
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jl 0x402e2f
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x402eb1
mov dword [ebp - 0x28], 0xfffffffc
mov dword [ebp - 0x28], 0x809d0107
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x364]
cmp dword [eax + ecx*4], 0
jne 0x402eb6
mov dword [ebp - 0x28], ebx
xor eax, eax
cmp dword [ebp - 0x28], eax
jl 0x402eae
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
jg 0x402ea9
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x402e8c
call dword [sym.imp.USER32.dll_GetCaretBlinkTime]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x364]
push 0
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0xc]
pop eax
cmp dword [ebp - 0xc], ebx
jle 0x402e7d
dec dword [ebp - 0x28]
jns 0x402e75
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x402e4e
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x20]
je 0x402ed1
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x402ed3
cmp dword [ebp - 0x14], eax
je 0x402ed3
mov eax, ebx
jmp 0x402ed3
xor eax, eax
mov dword [ebp - 0x10], eax
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x6c4]
mov dword [eax], edx
mov eax, dword [ebp - 0xc]
cmp edx, eax
setl cl
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x364]
add ecx, dword [eax]
mov eax, dword [ebp - 0x14]
imul eax, ecx
xor ecx, ecx
cmp eax, 0xb834
setle cl
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x6c4]
call fcn.0041431c
jmp 0x402f38
mov dword [ebp - 0x20], 0x83adeb94
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x364]
call fcn.0041431c
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x6f4]
push 9
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x55c]
cmp dword [eax], ecx
pop ecx
setne dl
xor eax, eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ecx
jge 0x4035a8
jmp 0x402f86
xor eax, eax
mov dword [ebp - 0x24], 0x15252cb1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], esi
jge 0x402fad
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x9d4], 5
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], esi
jl 0x402f95
xor eax, eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x402fc4
push eax
push 0x15d8
call dword [sym.imp.GDI32.dll_RectVisible]
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], edi
jg 0x403031
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x403012
push 0x2308
push 0x107d
push 0x1dce
push 0xa1d
push 0x1707
push 0x1a0f
push 0x108b
push 0xc37
push 0x191e
push 0x1e26
push 0x6fa
call dword [sym.imp.GDI32.dll_StretchBlt]
mov eax, dword [ebp - 0x24]
push 0
mov ecx, dword [ebp + eax*4 - 0x9d4]
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x9d4], ecx
inc dword [ebp - 0x24]
pop eax
cmp dword [ebp - 0x24], edi
jle 0x402fcc
mov dword [ebp - 0x38], 0xac3dc99c
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x38], 0x949dfcf0
mov dword [ebp - 0x38], 0xfef9d786
mov dword [ebp - 0x38], 0x2c36544d
mov dword [ebp - 0x28], eax
jmp 0x403088
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], 0xfffffff9
mov dword [ebp - 0x38], 0xfffffffb
mov dword [ebp - 0x3c], 0xffffffea
jmp 0x403080
mov dword [ebp - 0x20], 0x7f6f
dec dword [ebp - 0x20]
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], edi
jge 0x403073
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 5
jle 0x403059
mov dword [ebp - 0x14], 0xc9cc1417
lea ecx, [ebp - 0x6dc]
mov dword [ebp - 0x10], 0x101aae4b
push esi
call fcn.00413ed8
mov dword [ebp - 0x20], ebx
lea ecx, [ebp - 0xad4]
push 4
call fcn.00413ed8
mov dword [ebp - 0x18], 0xeab3ae5d
xor eax, eax
mov dword [ebp - 0x18], 0xe507
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], esi
jge 0x4030ea
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x6dc]
mov dword [eax + ecx*4], 0x1b44adca
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x4030d0
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 4
jge 0x40310e
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xad4]
mov dword [eax + ecx*4], 0xfffffff6
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x4030f3
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x40313a
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
imul ecx, dword [ebp - 0x14], 0xffff
mov eax, dword [ebp - 0x6dc]
cmp ecx, dword [eax + 4]
jle 0x403134
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], 0x9b467bb1
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x40315a
mov dword [ebp - 0x18], esi
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe8
jl 0x403154
lea ecx, [ebp - 0xad4]
call fcn.0041431c
lea ecx, [ebp - 0x6dc]
call fcn.0041431c
mov dword [ebp - 0x30], 0xffffffff
xor eax, eax
mov dword [ebp - 0x24], 0x3825062d
mov dword [ebp - 0x34], 0x5a83d87
mov dword [ebp - 0x20], 0x13053bf8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], esi
jge 0x4031b0
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x9ec], ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x40319c
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], edi
jge 0x4031d0
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xaec], 0xbb0f55f5
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x4031b8
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xf
je 0x40330c
mov dword [ebp - 0xc], 0xa3dbc56e
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x30]
jle 0x4031f8
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0xc], eax
je 0x4031fa
mov ecx, ebx
xor eax, eax
cmp ecx, 0x76fd
setg al
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xc35240ca
sbb eax, eax
inc eax
sub eax, dword [ebp - 0xc]
jne 0x40321e
mov edx, eax
cmp dword [ebp - 0xc], eax
je 0x403220
mov edx, ebx
mov dword [ebp - 0x9e8], edx
xor ecx, ecx
mov eax, dword [ebp - 0x30]
cmp edx, eax
setge cl
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x34], 0xffffffe6
jmp 0x4032f3
mov dword [ebp - 0x10], 0x4433
xor eax, eax
mov dword [ebp - 0x3c], 0xdbe4fcd5
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x40325e
push eax
call dword [sym.imp.USER32.dll_DestroyCursor]
mov dword [ebp - 0xc], 0xfffffffb
jmp 0x4032e6
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], 0xfffffff5
jmp 0x4032dd
mov dword [ebp - 0x20], 0xbbda73a1
mov eax, dword [ebp - 0x10]
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x40329c
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x3c], ecx
je 0x40329a
mov edx, ebx
jmp 0x40329e
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
sete cl
cmp ecx, dword [ebp - 0x20]
jl 0x4032b0
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x9e8]
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x10]
jne 0x4032c1
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xaec], 0x5ce4ec6f
cmp dword [ebp - 0x3c], 0
jne 0x4032e3
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x16
jl 0x403273
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xe
jle 0x403267
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x1a
jl 0x40323f
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xf
jne 0x4031dd
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], esi
jge 0x40332c
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0xcb0], 0xbb4f5ac3
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], esi
jl 0x403314
xor eax, eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x10], 0x7ed6f186
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x28], 0x235bd639
mov dword [ebp - 0x14], 0xf9f0ac77
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], ebx
jge 0x40336b
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x44], 0x624039b
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ebx
jl 0x403356
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], eax
jl 0x403529
mov dword [ebp - 0xc], 0x76ff55e0
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], 0x697ab83d
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], edi
jge 0x4033ab
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x998], 0x58fb5c4c
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], edi
jl 0x403393
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], eax
jg 0x403520
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0x44], 0
je 0x403440
mov eax, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x44]
test eax, eax
mov eax, dword [ebp - 0x34]
setne dl
xor ebx, ebx
mov ecx, dword [ebp + eax*4 - 0x44]
mov eax, dword [ebp - 0xc]
cmp edx, eax
setg bl
sub ebx, ecx
neg ebx
sbb ebx, ebx
xor eax, eax
inc ebx
cmp ebx, 0x65f4b3f4
setle al
xor edx, edx
dec eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov eax, dword [ebp - 0x44]
imul ecx, ecx, 0x5d9c
cmp eax, ecx
setle dl
xor ecx, ecx
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x44]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
cmp eax, 0x176
setge cl
xor ebx, ebx
mov dword [ebp - 0x10], ecx
xor eax, eax
inc ebx
cmp dword [ebp - 0x10], eax
je 0x403442
mov edx, ebx
jmp 0x403444
xor eax, eax
mov edx, eax
mov dword [ebp - 0x10], 0xf2e9
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0x44]
mov ecx, dword [ebp - 0xc]
imul ecx, edx
sub ecx, eax
mov eax, dword [ebp - 0xc]
neg ecx
sbb ecx, ecx
inc ecx
add ecx, dword [ebp + eax*4 - 0x44]
mov dword [ebp - 0x998], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x44]
cmp eax, 0x2b782624
setg cl
xor eax, eax
sub ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x18]
je 0x403491
cmp dword [ebp - 0xc], eax
je 0x403491
mov eax, ebx
mov dword [ebp - 0x24], eax
xor ecx, ecx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x44]
mov eax, dword [ebp - 0x34]
test eax, eax
mov eax, dword [ebp - 0x20]
setns cl
xor edx, edx
cmp ecx, 0xffffffff
setne dl
neg eax
sbb eax, eax
inc eax
sub eax, edx
add eax, 7
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x4034e3
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0x44], 0
je 0x4034e1
mov eax, ebx
jmp 0x4034e3
xor eax, eax
xor ecx, ecx
cmp eax, 7
sete cl
xor edx, edx
add ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
cmp eax, ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], ebx
xor eax, eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jle 0x4033b7
dec dword [ebp - 0x34]
jns 0x403377
mov dword [ebp - 0x28], 0xf
jmp 0x403590
mov dword [ebp - 0x30], eax
jmp 0x403588
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], eax
jl 0x403585
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], eax
jg 0x403580
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x40355c
push 0x9a5
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
mov eax, dword [ebp - 0x24]
push 0
mov ecx, dword [ebp + eax*4 - 0x44]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x44], ecx
xor eax, eax
test ecx, ecx
setne al
mov dword [ebp - 0x10], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0
pop eax
jle 0x403547
dec dword [ebp - 0x24]
jns 0x40353f
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], eax
jle 0x403537
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff5
jle 0x403532
dec dword [ebp - 0x1c]
inc dword [ebp - 0x2c]
push 9
pop eax
cmp dword [ebp - 0x2c], eax
jl 0x402f84
lea ecx, [ebp - 0x55c]
call fcn.0041431c
lea ecx, [ebp - 0x6f4]
call fcn.0041431c
mov dword [ebp - 0x1c], 0xf3f17e2f
xor eax, eax
mov dword [ebp - 0x2c], 0x5d70512a
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], esi
jge 0x4035ee
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x204], 0x64a6847d
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x4035d6
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], edi
jge 0x40360e
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x8c], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x4035f6
xor eax, eax
mov dword [ebp - 0x88], edi
cmp dword [ebp - 0x88], eax
jl 0x4036eb
mov dword [ebp - 0x1c], 0x10a1434a
mov ecx, 0xaab72b21
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp + eax*4 - 0x204]
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp + eax*4 - 0x204]
mov eax, dword [ebp - 0x1fc]
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp + eax*4 - 0x204]
mov dword [ebp - 0x1c], 4
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp + eax*4 - 0x204]
mov eax, dword [ebp - 0x1c]
sub ecx, eax
dec ecx
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setle al
xor edx, edx
lea ecx, [eax - 1]
mov eax, dword [ebp - 0x8c]
cmp ecx, eax
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x88]
setge dl
add ecx, edx
mov edx, dword [ebp + eax*4 - 0x204]
mov eax, dword [ebp - 0x88]
imul edx, ecx
mov eax, dword [ebp + eax*4 - 0x204]
add eax, edx
mov dword [ebp - 0x1c], eax
mov byte [ebp - 5], 0
cmp byte [ebp - 5], 0
je 0x4036dc
push 0xb5a
push 0x5c
call dword [sym.imp.GDI32.dll_SetTextAlign]
dec dword [ebp - 0x88]
push 0
pop eax
jns 0x403620
mov dword [ebp - 0x2c], eax
jmp 0x403719
mov dword [ebp - 0x1c], eax
dec dword [ebp - 0x1c]
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x403716
push 0xecb
push 0x1267
push 0x200a
call dword [sym.imp.USER32.dll_EnableScrollBar]
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jle 0x4036f0
push ebx
lea ecx, [ebp - 0x2e8]
call fcn.00413ed8
push esi
lea ecx, [ebp - 0x70c]
call fcn.00413ed8
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
jge 0x40375a
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x2e8]
mov dword [eax + ecx*4], 0x97f6af11
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x403740
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x403772
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x70c]
mov dword [eax + ecx*4], 0xa75c19c5
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x40375f
mov eax, dword [ebp - 0x2e8]
mov dword [eax], 0x12
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], 0x7b04800f
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], edi
jg 0x4037da
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x70c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0xfffffffc
jmp 0x4037ca
mov eax, dword [ebp - 0x2e8]
cmp dword [eax], 0
jne 0x4037d0
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffff2
jg 0x4037b6
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jle 0x40379e
xor eax, eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x4037ee
push 0x8ff
call dword [sym.imp.USER32.dll_GetKeyboardType]
mov eax, dword [ebp - 0x2e8]
dec dword [eax]
cmp dword [eax], 0xfffffff6
jg 0x403783
lea ecx, [ebp - 0x70c]
call fcn.0041431c
lea ecx, [ebp - 0x2e8]
call fcn.0041431c
mov dword [ebp - 0x1c], 0xfffffffe
lea ecx, [ebp - 0x50c]
mov dword [ebp - 0x38], 0xd45db34e
mov dword [ebp - 0x10], 0x7cf2e566
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x38], 0xaafe30f5
mov dword [ebp - 0x38], 0xfffffffa
push edi
call fcn.00413ed8
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], edi
jge 0x403872
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x50c]
mov dword [eax + ecx*4], 5
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x403858
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x403888
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x90], 0x66e9f086
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x403877
dec dword [ebp - 0x90]
mov esi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x50c]
add ecx, dword [eax + 4]
xor eax, eax
cmp ecx, 0x2370
mov ecx, 0xcb6d64bd
setle al
cmp ecx, eax
mov eax, dword [ebp - 0x10]
sbb edx, edx
xor ecx, ecx
neg edx
sub edx, 0x62568d8d
cmp eax, edx
mov eax, dword [ebp - 0x1c]
setge cl
xor edx, edx
imul ecx, ecx, 0x34e
cmp ecx, eax
lea ecx, [ebp - 0x50c]
setl dl
xor eax, eax
cmp esi, 0xd549
setle al
imul edx, eax
mov eax, dword [ebp - 0x50c]
mov dword [eax], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x20], eax
call fcn.0041431c
mov dword [ebp - 0x14], 0x58bd4dfb
xor eax, eax
mov dword [ebp - 0x38], 4
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x403941
push 0x18cc
push 0x13f
push 0x1553
push 0x1cd1
push 0xa12
call dword [sym.imp.GDI32.dll_Ellipse]
xor eax, eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x403962
push 0x15e2
push eax
push 0x11fc
push eax
push 0xe0d
push eax
call dword [sym.imp.KERNEL32.dll_CompareStringW]
mov dword [ebp - 0x34], 0x8d20b50f
lea ecx, [ebp - 0xa78]
push edi
call fcn.00413ed8
mov dword [ebp - 0x20], 0xfffffff7
xor eax, eax
mov dword [ebp - 0x38], 0x6444696a
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edi
jge 0x4039a7
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xa78]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x40398d
xor eax, eax
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], eax
jl 0x4039c6
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x4039c1
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
dec dword [ebp - 0x20]
jns 0x4039af
lea ecx, [ebp - 0xa78]
call fcn.0041431c
mov dword [ebp - 0x1c], 0x5c74600e
mov eax, 0x3bf38c08
mov dword [ebp - 0x30], 0xb72fd491
mov dword [ebp - 0x814], eax
mov dword [ebp - 0x810], eax
mov dword [ebp - 0x80c], eax
mov dword [ebp - 0x808], eax
push 3
pop esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], 0x41b4
mov eax, dword [ebp - 0x30]
xor eax, eax
cmp dword [ebp - 0x30], eax
jne 0x403a25
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x810], eax
cmp eax, dword [ebp - 0x30]
jge 0x403a25
xor eax, eax
jmp 0x403a27
mov eax, ebx
mov ecx, 0x89480189
cmp ecx, eax
mov ecx, 0x9c710427
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x403a73
mov dword [ebp - 0x38], 0xfffffffa
mov dword [ebp - 0x38], 0x8b8ae505
mov dword [ebp - 0x38], 0xfffffffd
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0xd0], ecx
dec dword [ebp - 0x1c]
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], esi
jle 0x403a40
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x403a98
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x130], 0x25b9b55b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x403a80
xor eax, eax
mov dword [ebp - 0xc], 0x37831e42
mov dword [ebp - 0x3c], eax
push 8
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
pop ecx
sub ecx, eax
je 0x403b0c
xor eax, eax
mov dword [ebp - 0x10], 0xa715cc48
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffe3
jg 0x403c02
mov dword [ebp - 0x20], 0xa92bd42c
xor edx, edx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
cmp ecx, eax
mov eax, dword [ebp - 0xc]
setge dl
sub eax, edx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x18], eax
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffe3
jle 0x403ac5
jmp 0x403c00
mov dword [ebp - 0x24], 0x9a56718e
mov dword [ebp - 0x20], 0xfffffff7
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x403b34
mov edx, ebx
cmp dword [ebp - 0xc], eax
jne 0x403b36
mov edx, eax
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp eax, ebx
setl cl
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x20], edx
xor edx, edx
mov ecx, dword [ebp - 0x20]
imul ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, dword [ebp - 0x24]
jge 0x403bd2
mov dword [ebp - 0x2c], 0xffffffff
lea ecx, [ebp - 0x724]
push esi
call fcn.00413ed8
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x403b93
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x724]
mov dword [eax + ecx*4], 5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x403b80
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x24]
imul eax, eax, 0xfff9
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x403bc0
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x724]
cmp dword [eax + ecx*4], 0
jne 0x403bc5
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jle 0x403bae
lea ecx, [ebp - 0x724]
call fcn.0041431c
jmp 0x403be9
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x10], 0xac507b39
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
xor eax, eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x403c00
push eax
push 0x1c80
push eax
call dword [sym.imp.GDI32.dll_GetBitmapBits]
xor eax, eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x403c13
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
xor eax, eax
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0x1b
jl 0x404012
mov dword [ebp - 0x1c], 0x714ad38
mov dword [ebp - 0x18], 0xfb2c41ac
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x10], 0xc9b9
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x38], 0x2e3a4c63
push 9
pop eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x240]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x244]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x240]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x240]
mov eax, dword [ebp - 0x244]
sub edx, eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x244]
add ecx, edx
xor edx, edx
cmp ecx, eax
setl dl
xor eax, eax
sub edx, 0x5300ce3
mov dword [ebp - 0x18], edx
dec dword [ebp - 0x20]
mov dword [ebp - 0x28], 0x9351f200
mov dword [ebp - 0x38], eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x403cd0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor eax, eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x403ce7
push 0x9a5
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
xor eax, eax
mov dword [ebp - 0x24], 0xc5165352
mov dword [ebp - 0x38], 0x77ae
cmp dword [ebp - 0x24], eax
jne 0x403d03
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
dec eax
jne 0x403d0e
cmp dword [ebp - 0x24], eax
je 0x403d10
mov eax, ebx
xor ecx, ecx
cmp eax, 0xfffffffe
mov eax, dword [ebp - 0x24]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setl dl
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
xor eax, eax
shl ecx, 3
test ecx, ecx
je 0x403d5f
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x403d77
push 0xcb2
push 0x2036
push eax
push eax
push 0x10cd
push 0x1215
call dword [sym.imp.USER32.dll_ToUnicode]
xor eax, eax
jmp 0x403d77
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x403d94
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x70], 0xfffffff6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x403d7f
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x403db4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x9c], 0x8909ff4c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x403d9c
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x403dd6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc50], 0x62a08d8d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x403dbd
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 8
je 0x403ffc
mov dword [ebp - 0x1c], 4
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x20], 0x6f69a7c8
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x18], eax
jmp 0x403e14
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb8], 0xfffffff6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x403e03
mov dword [ebp - 0x14], 7
xor ebx, ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x128], ebx
je 0x403e33
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x14]
cmp eax, 0xad8e
setl cl
imul ecx, dword [ebp - 0x70]
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0xfffa
jne 0x403f4e
xor esi, esi
inc esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], 0x18f82ea9
mov dword [ebp - 0x14], 0xffffffe7
jmp 0x403e89
mov dword [ebp - 0x34], ebx
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x403e86
push 0x9c4
call dword [sym.imp.GDI32.dll_EndDoc]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe8
jne 0x403e70
mov eax, dword [ebp - 0x34]
mov ecx, 0x804524be
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x128]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x70]
setne dl
sub edx, eax
mov eax, dword [ebp - 0x70]
sub edx, eax
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x20]
neg eax
jne 0x403eca
mov ecx, ebx
cmp dword [ebp - 0x10], ebx
je 0x403ecc
mov ecx, esi
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x130]
sub ecx, eax
mov eax, dword [ebp - 0x70]
add eax, ecx
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jne 0x403efa
mov eax, ebx
cmp dword [ebp - 0x9c], ebx
je 0x403efc
mov eax, esi
mov edx, dword [ebp - 0x20]
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x28]
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x70]
cmp eax, ecx
setne dl
cmp edx, dword [ebp - 0x34]
jne 0x403f2c
cmp dword [ebp - 0x20], ebx
je 0x403f2c
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x70]
xor edx, edx
cmp eax, 0xaf36eaf
mov eax, dword [ebp - 0x70]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0xb4], ecx
jmp 0x403fe6
xor ecx, ecx
inc ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0xb4]
add eax, 0x4ccf
jne 0x403f8f
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xc44]
add eax, dword [ebp - 0x1c]
mov eax, ebx
je 0x403f91
mov eax, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
je 0x403faa
cmp dword [ebp - 0xb4], ebx
jne 0x403fac
mov ecx, ebx
mov eax, dword [ebp - 0xb4]
xor edx, edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xb4]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
cmp eax, edx
setg cl
imul ecx, dword [ebp - 0x34]
mov dword [ebp - 0x34], ecx
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x403fe6
push 0x1b15
call dword [sym.imp.USER32.dll_HideCaret]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 8
push 0
pop eax
push 1
pop ebx
jne 0x403de3
push 3
pop esi
inc dword [ebp - 0x128]
cmp dword [ebp - 0x128], 0x1b
push 0
pop eax
jge 0x403c26
push 9
pop ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x1c], 0x4e20eeb
mov dword [ebp - 0x3c], 0x38fd2320
mov dword [ebp - 0xc], eax
jmp 0x404280
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x404055
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1d8], 0xfffffff6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x40403d
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ecx
je 0x40427d
mov dword [ebp - 0x34], 0xffffffff
cmp dword [ebp - 0xc], eax
je 0x404072
mov eax, dword [ebp - 0x34]
xor eax, eax
xor ebx, ebx
cmp dword [ebp - 0x2c], eax
jne 0x4040a0
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0xc], ebx
je 0x40408e
cmp dword [ebp - 0x34], ebx
je 0x40408e
xor eax, eax
inc eax
jmp 0x404090
mov eax, ebx
add eax, 0x53f0d3ec
mov dword [ebp - 0x1d8], eax
je 0x4040a0
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0xc]
je 0x404264
mov dword [ebp - 0x18], 0x7758a8c
lea ecx, [ebp - 0x4ac]
push 4
call fcn.00413ed8
mov dword [ebp - 0x18], ebx
jmp 0x4040db
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4ac]
mov dword [eax + ecx*4], 0x600bf094
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x4040c8
mov dword [ebp - 0x34], edi
cmp dword [ebp - 0x34], ebx
jl 0x404254
lea edi, [ebp - 0x8b4]
lea ecx, [ebp - 0x8a4]
movdqa xmm0, xmmword [0xaba8e0]
lea eax, [ebp - 0x107]
push eax
push ecx
push edi
lea ecx, [ebp - 0x7b4]
movdqu xmmword [ebp - 0x8b4], xmm0
call fcn.00413f4b
mov esi, dword [ebp - 0x7b4]
xor edi, edi
inc edi
mov dword [esi + 4], ebx
mov dword [ebp - 0x10], edi
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp + eax*4 - 0x1d8]
mov eax, dword [esi + 4]
cmp dword [ebp + eax*4 - 0x1d8], ecx
jl 0x4041fc
mov dword [ebp - 0x20], 0xfffffff8
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x404163
push 0x14d5
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x7b4]
cmp dword [eax + 8], 8
mov eax, dword [ebp - 0x34]
setl dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x1d8]
cmp eax, edx
setle cl
xor edx, edx
add ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x4ac]
cmp ecx, dword [eax]
setne dl
xor ecx, ecx
mov dword [eax], edx
mov eax, dword [ebp - 0x1c]
cmp edx, eax
mov eax, dword [ebp - 0x20]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1d8]
mov edx, 0x41e56eb4
setg cl
xor ebx, ebx
sub edx, ecx
mov ecx, edi
cmp edx, eax
mov eax, dword [ebp - 0x34]
setge bl
xor edx, edx
sub ecx, ebx
mov dword [ebp + eax*4 - 0x1d8], ebx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setle dl
sub edx, 0x8af1
neg edx
sbb edx, edx
add edx, 0xffff52ae
xor ebx, ebx
mov dword [ebp - 0x10], edx
jmp 0x404224
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x40420b
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, dword [ebp - 0x1d8]
mov eax, dword [ebp - 0x4ac]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc]
add eax, ecx
mov dword [ebp - 0x1d8], eax
inc dword [esi + 4]
cmp dword [esi + 4], 2
jle 0x404129
lea ecx, [ebp - 0x7b4]
call fcn.0041431c
dec dword [ebp - 0x34]
lea edi, [ebp - 0x8b4]
lea ecx, [ebp - 0x8a4]
jns 0x4040f9
push 2
pop edi
lea ecx, [ebp - 0x4ac]
call fcn.0041431c
push 9
pop ecx
jmp 0x404269
cmp dword [ebp - 0x3c], ebx
jne 0x404278
inc dword [ebp - 0x2c]
push 0
pop eax
cmp dword [ebp - 0x2c], ecx
jne 0x404061
push 3
xor eax, eax
pop esi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x14
jg 0x40402e
xor edi, edi
mov dword [ebp - 0x20], 0xdda37bb0
inc edi
mov dword [ebp - 0x30], edi
push 2
mov dword [ebp - 0x1c], 0x5378470e
mov dword [ebp - 0x18], eax
pop esi
jmp 0x4042b3
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x230], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x4042a6
mov dword [ebp - 0x30], 0x348c
xor ebx, ebx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x22c]
cmp eax, 0x34d00693
setle bl
xor edx, edx
mov dword [ebp - 0x22c], ebx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
sub ecx, 0x697c9b75
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp edx, 0xb0ae28de
setne cl
xor edx, edx
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
neg edx
sbb edx, edx
inc edx
add edx, ebx
add eax, edx
sub eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
xor ebx, ebx
inc eax
cmp eax, dword [ebp - 0x1c]
jl 0x40435d
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
mov byte [ebp - 5], bl
je 0x404336
cmp byte [ebp - 5], bl
je 0x404380
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
jmp 0x404380
cmp byte [ebp - 5], bl
je 0x404348
push ebx
push ebx
push 0x161d
call dword [sym.imp.USER32.dll_SetPropA]
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x404380
push 0x9c4
call dword [sym.imp.GDI32.dll_EndDoc]
jmp 0x404380
mov dword [ebp - 0x30], edi
cmp dword [ebp - 0x30], ebx
jl 0x404380
mov eax, dword [ebp - 0x30]
cmp dword [ebp + eax*4 - 0x230], ebx
jne 0x404380
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp + eax*4 - 0x230]
dec dword [ebp - 0x30]
jns 0x404365
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0xc], 0x3d9b950
mov dword [ebp - 0x3c], 0xc926164a
mov dword [ebp - 0x1c], 0xe175a398
mov dword [ebp - 0x18], ebx
jmp 0x4043b2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x60], 6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x4043a4
mov dword [ebp - 0x24], 0xfffa
xor edx, edx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0xc]
cmp eax, ecx
mov eax, dword [ebp - 0x5c]
setge dl
imul eax, edx
add eax, 0x44c0
jne 0x4043e1
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x5c], ebx
je 0x404427
mov dword [ebp - 0x1c], 0x6d99
xor edx, edx
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x60]
add ecx, 4
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0xc], ecx
jmp 0x404665
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x61c]
push esi
call fcn.00413ed8
mov dword [ebp - 0x1c], 0x2a9e
mov dword [ebp - 0x28], 0xdd98ae1f
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], esi
jge 0x404463
push 9
pop edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x61c]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x40444f
mov eax, dword [ebp - 0xc]
xor edx, edx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
cmp eax, 0xfffffffc
mov eax, dword [ebp - 0xc]
setge dl
neg eax
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 0xfffffffa
mov ecx, 0xffff
setge al
sub eax, 0xfbc6
neg eax
sbb eax, eax
xor edx, edx
inc eax
sub eax, ecx
imul ecx, eax, 5
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setl dl
sub edx, 0x8a6ce2e7
neg edx
sbb edx, edx
inc edx
add edx, dword [ebp - 0x60]
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x14], ebx
jmp 0x404651
mov dword [ebp - 0x1c], 0x3401ff3c
mov dword [ebp - 0x18], 0x88d18043
push 7
pop eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x60]
neg eax
je 0x404631
cmp dword [ebp - 0x14], ebx
jne 0x404514
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x5c]
push 8
pop ecx
sub ecx, eax
mov eax, dword [ebp - 0x14]
cmp ecx, 0xffffffff
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
sub ecx, dword [ebp - 0x14]
mov ecx, ebx
je 0x404516
mov ecx, edi
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x60]
mov dword [ebp - 0x1c], eax
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x61c]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x60]
setg dl
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0xc]
setl cl
add eax, ecx
xor ecx, ecx
cmp eax, 0xba9e
setl cl
xor edx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setle dl
xor eax, eax
test esi, esi
sete al
cmp eax, edx
jge 0x404571
mov edx, ebx
cmp dword [ebp - 0x3c], ebx
je 0x404573
mov edx, edi
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x5c]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setl dl
sub edx, 0xfffffffb
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x60]
sete cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x3c]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
xor ebx, ebx
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setg bl
xor edx, edx
mov dword [ebp + eax*4 - 0x60], ebx
mov eax, dword [ebp - 0x24]
cmp ebx, eax
mov eax, dword [ebp - 0x20]
sete dl
xor ecx, ecx
add edx, 4
cmp edx, eax
mov eax, dword [ebp - 0x14]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0x2d3770b9
mov ecx, 0x98cfe46d
setl al
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jne 0x404612
xor ebx, ebx
cmp dword [ebp - 0x24], ebx
je 0x40461b
jmp 0x404614
xor ebx, ebx
mov eax, edi
cmp dword [ebp - 0x18], ebx
jne 0x40461d
mov eax, ebx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x60]
mov eax, edi
jmp 0x404633
mov eax, ebx
mov dword [ebp - 0x20], eax
xor ecx, ecx
mov edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
cmp edx, eax
setl cl
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x28], ebx
jne 0x40465a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x4044c5
lea ecx, [ebp - 0x61c]
call fcn.0041431c
mov dword [ebp - 0x60], 0xffffffff
mov dword [ebp - 0x38], 0x8261f9c2
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x404699
push ebx
push 0x1445
push 0x5fb
push ebx
push 0x11f3
push 0x2bd
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x4046b8
push ebx
push 0x9a0
push 0x1ef4
push 0x1686
call dword [sym.imp.GDI32.dll_GetCharWidth32A]
mov dword [ebp - 0xc], edi
push 0xfffffffffffffff8
mov dword [ebp - 0x30], 0xfffffffd
pop ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ebx
jmp 0x4046de
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x118], 0xdda37bb0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x4046cd
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
je 0x404753
mov dword [ebp - 0xc], ebx
jmp 0x40473a
cmp dword [ebp - 0xc], 0xffffffee
jg 0x404702
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x30], eax
push 3
pop esi
mov dword [ebp - 0x2c], 0x66a756a3
lea ecx, [ebp - 0x580]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], 0x403ca955
mov dword [ebp - 0x1c], 0xffffffff
push esi
call fcn.00413ed8
mov dword [ebp - 0x1c], 0x5c3421ad
mov dword [ebp - 0x20], 0xa81d5f49
mov dword [ebp - 0x18], ebx
jmp 0x4047a9
cmp dword [ebp - 0x18], esi
jl 0x404796