Function at 0x422251
Capabilities:
Get common file path
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x358
push esi
movzx eax, byte [ebp + 0x20]
test eax, eax
je 0x422304
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24c], eax
lea eax, [ebp + 0x10]
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x1f0]
movzx eax, byte [eax]
test eax, eax
je 0x42229c
push 0xf9e
call dword [sym.imp.GDI32.dll_UpdateColors]
jmp 0x4222ff
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x254]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x25c]
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x58]
mov dword [eax], 0
jmp 0x4222df
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x58]
mov dword [ecx], eax
mov eax, dword [ebp - 0x58]
cmp dword [eax], 4
jge 0x4222ff
mov eax, dword [ebp - 0x58]
push dword [eax]
mov ecx, dword [ebp - 0x264]
call fcn.00413f7a
mov dword [eax], 0x7a9a9718
jmp 0x4222d4
jmp 0x42397d
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x240], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x218], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x260], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x250], eax
lea eax, [ebp + 0x28]
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x32c], 0x8261f9c2
mov byte [ebp - 0x43], 0
movzx eax, byte [ebp - 0x43]
test eax, eax
je 0x422367
push 0
push 0x1445
push 0x5fb
push 0
push 0x11f3
push 0x2bd
push 0
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov byte [ebp - 0x37], 0
movzx eax, byte [ebp - 0x37]
test eax, eax
je 0x42238a
push 0
push 0x9a0
push 0x1ef4
push 0x1686
call dword [sym.imp.GDI32.dll_GetCharWidth32A]
mov eax, dword [ebp - 0x23c]
movzx eax, byte [eax]
test eax, eax
je 0x422e6d
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x70], 0xe9323d1b
mov eax, dword [ebp - 0x30]
sub eax, 0x85c6
sub eax, dword [ebp - 0x30]
je 0x4223d5
mov dword [ebp - 0x20c], 0xffffffff
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x70], 0xd8d13034
jmp 0x4224d7
push 3
lea ecx, [ebp - 0x2ac]
call fcn.00413ed8
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x64], 0
jmp 0x4223fc
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 3
jge 0x422418
push dword [ebp - 0x64]
lea ecx, [ebp - 0x2ac]
call fcn.00413f7a
mov dword [eax], 0xfffffffb
jmp 0x4223f5
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x324], eax
mov esi, dword [ebp - 0x30]
push 2
lea ecx, [ebp - 0x2ac]
call fcn.00413f7a
cmp esi, dword [eax]
jle 0x422441
mov dword [ebp - 0xcc], 1
jmp 0x422448
and dword [ebp - 0xcc], 0
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0x30]
cmp eax, 0x348c
jge 0x42246d
mov eax, 0xbd13d8c5
test eax, eax
je 0x42246d
mov dword [ebp - 0x1c4], 1
jmp 0x422474
and dword [ebp - 0x1c4], 0
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x1c4]
jne 0x42248b
mov dword [ebp - 0x28c], 1
jmp 0x422492
and dword [ebp - 0x28c], 0
push 0
lea ecx, [ebp - 0x2ac]
call fcn.00413f7a
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x70], eax
jge 0x4224b9
mov dword [ebp - 0x1bc], 1
jmp 0x4224c0
and dword [ebp - 0x1bc], 0
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x210], eax
lea ecx, [ebp - 0x2ac]
call fcn.00413f75
mov eax, dword [ebp - 0x250]
mov dword [ebp - 0x258], eax
push 3
lea ecx, [ebp - 0x2f8]
call fcn.00413ed8
mov dword [ebp - 0x78], 0xffffffff
mov dword [ebp - 0x8c], 0
jmp 0x422510
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 3
jge 0x422532
push dword [ebp - 0x8c]
lea ecx, [ebp - 0x2f8]
call fcn.00413f7a
mov dword [eax], 0xfffa
jmp 0x422503
mov dword [ebp - 0x78], 0
jmp 0x422542
mov eax, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 2
jg 0x422563
mov byte [ebp - 0x45], 0
movzx eax, byte [ebp - 0x45]
test eax, eax
je 0x422561
push 0
push 0x24b3
call dword [sym.imp.USER32.dll_ClientToScreen]
jmp 0x42253b
mov byte [ebp - 0x39], 0
movzx eax, byte [ebp - 0x39]
test eax, eax
je 0x42257c
push 0
push 0x24ab
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea ecx, [ebp - 0x2f8]
call fcn.00413f75
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x220], 0x30c4e2bf
mov byte [ebp - 0x42], 0
movzx eax, byte [ebp - 0x42]
test eax, eax
je 0x4225ba
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov dword [ebp - 0x20], 0
jmp 0x4225ca
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
je 0x4226bb
mov dword [ebp - 0x4c], 0x446df37d
mov dword [ebp - 0x278], 0xffffffff
mov dword [ebp - 0xe0], 0x4709ba87
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x278]
jne 0x422655
cmp dword [ebp - 0x20], 1
jl 0x422612
mov dword [ebp - 0xd4], 1
jmp 0x422619
and dword [ebp - 0xd4], 0
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
jl 0x422636
mov dword [ebp - 0xd8], 1
jmp 0x42263d
and dword [ebp - 0xd8], 0
cmp dword [ebp - 0xd8], 0xfffffff6
jl 0x42264c
cmp dword [ebp - 0x20], 0
jne 0x422655
and dword [ebp - 0x150], 0
jmp 0x42265f
mov dword [ebp - 0x150], 1
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0xe0]
cmp dword [ebp - 0x4c], eax
jg 0x42267f
mov dword [ebp - 0x1b0], 1
jmp 0x422686
and dword [ebp - 0x1b0], 0
mov eax, dword [ebp - 0xe0]
add eax, dword [ebp - 0x1b0]
cmp eax, dword [ebp - 0x20]
je 0x4226a3
mov dword [ebp - 0xe8], 1
jmp 0x4226aa
and dword [ebp - 0xe8], 0
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x220], eax
jmp 0x4225c3
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0xf0], 0xffffffff
push 2
lea ecx, [ebp - 0x304]
call fcn.00413ed8
mov dword [ebp - 0x94], 0
jmp 0x4226f2
mov eax, dword [ebp - 0x94]
inc eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 2
jge 0x422711
push dword [ebp - 0x94]
lea ecx, [ebp - 0x304]
call fcn.00413f7a
and dword [eax], 0
jmp 0x4226e5
cmp dword [ebp - 0x5c], 0
jne 0x422770
mov eax, dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], eax
jge 0x42272b
mov dword [ebp - 0x158], 1
jmp 0x422732
and dword [ebp - 0x158], 0
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xf0]
cmp dword [ebp - 0x5c], eax
jne 0x422755
mov dword [ebp - 0x198], 1
jmp 0x42275c
and dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x198]
jne 0x422770
and dword [ebp - 0xf8], 0
jmp 0x42277a
mov dword [ebp - 0xf8], 1
mov eax, dword [ebp - 0xf8]
add eax, 0x25bf
je 0x4227a3
mov dword [ebp - 0x160], 0x9b64fda7
mov eax, dword [ebp - 0x160]
inc eax
mov dword [ebp - 0x160], eax
jmp 0x422894
mov dword [ebp - 0x100], 0x75158018
push 1
lea ecx, [ebp - 0x2d8]
call fcn.00413ed8
mov dword [ebp - 0x1c], 0
jmp 0x4227ca
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x4227e0
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x338], 0xffffffff
jmp 0x4227c3
mov dword [ebp - 0x1c], 0
jmp 0x4227f0
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 1
jge 0x42280c
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x2d8]
call fcn.00413f7a
mov dword [eax], 0x79942796
jmp 0x4227e9
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x2ec], eax
cmp dword [ebp - 0x100], 1
jne 0x42282d
mov dword [ebp - 0x1c0], 1
jmp 0x422834
and dword [ebp - 0x1c0], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x338]
cmp dword [ebp - 0x1c0], eax
jle 0x422854
mov dword [ebp - 0x108], 1
jmp 0x42285b
and dword [ebp - 0x108], 0
push 0
lea ecx, [ebp - 0x2d8]
call fcn.00413f7a
mov ecx, dword [ebp - 0x108]
mov dword [eax], ecx
mov byte [ebp - 0x3b], 0
movzx eax, byte [ebp - 0x3b]
test eax, eax
je 0x422889
push 0
push 0xd77
call dword [sym.imp.USER32.dll_EndPaint]
lea ecx, [ebp - 0x2d8]
call fcn.00413f75
mov byte [ebp - 0x44], 0
movzx eax, byte [ebp - 0x44]
test eax, eax
je 0x4228ad
push 0x26c5
push 0
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea ecx, [ebp - 0x304]
call fcn.00413f75
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0x60], eax
push 3
lea ecx, [ebp - 0x274]
call fcn.00413ed8
mov dword [ebp - 0x90], 0xfffffff6
mov dword [ebp - 0x80], 0
jmp 0x4228e8
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 3
jge 0x422904
push dword [ebp - 0x80]
lea ecx, [ebp - 0x274]
call fcn.00413f7a
mov dword [eax], 0x10c93b4e
jmp 0x4228e1
mov dword [ebp - 0x90], 0
jmp 0x42291d
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 2
jg 0x422a92
push 2
lea ecx, [ebp - 0x1ec]
call fcn.00413ed8
mov dword [ebp - 0x88], 0
jmp 0x422950
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 2
jge 0x422972
push dword [ebp - 0x88]
lea ecx, [ebp - 0x1ec]
call fcn.00413f7a
mov dword [eax], 5
jmp 0x422943
push 1
lea ecx, [ebp - 0x1ec]
call fcn.00413f7a
and dword [eax], 0
jmp 0x4229a8
push 1
lea ecx, [ebp - 0x1ec]
call fcn.00413f7a
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x168]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x168]
mov dword [ecx], eax
push 1
lea ecx, [ebp - 0x1ec]
call fcn.00413f7a
cmp dword [eax], 2
jg 0x422a6b
mov dword [ebp - 0x7c], 0
jmp 0x4229ce
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 1
jge 0x4229e1
mov eax, dword [ebp - 0x7c]
mov dword [ebp + eax*4 - 0x50], 0xda622a14
jmp 0x4229c7
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x50], 0
jmp 0x422a06
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x50]
inc eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x50], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x50], 2
jg 0x422a45
push 4
pop eax
imul eax, eax, 0
push dword [ebp + eax - 0x50]
lea ecx, [ebp - 0x274]
call fcn.00413f7a
mov esi, eax
push 4
pop eax
imul eax, eax, 0
push dword [ebp + eax - 0x50]
lea ecx, [ebp - 0x274]
call fcn.00413f7a
mov ecx, dword [esi]
mov dword [eax], ecx
jmp 0x4229f1
push 1
lea ecx, [ebp - 0x1ec]
call fcn.00413f7a
push dword [eax]
lea ecx, [ebp - 0x274]
call fcn.00413f7a
cmp dword [eax], 0
je 0x422a66
jmp 0x422a6b
jmp 0x422984
mov byte [ebp - 0x41], 0
movzx eax, byte [ebp - 0x41]
test eax, eax
je 0x422a82
push 0x1cb2
call dword [sym.imp.GDI32.dll_GetStockObject]
lea ecx, [ebp - 0x1ec]
call fcn.00413f75
jmp 0x422910
lea ecx, [ebp - 0x274]
call fcn.00413f75
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x40], 0xe3580d4
mov dword [ebp - 8], 0xb79f6a71
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0xa8], 1
push 3
lea ecx, [ebp - 0x2b8]
call fcn.00413ed8
mov dword [ebp - 0xb8], 0xfb07d0d1
mov dword [ebp - 0x2e8], 0x761ac7eb
mov dword [ebp - 0x2e4], 0x761ac7eb
mov dword [ebp - 0x2e0], 0x761ac7eb
mov dword [ebp - 0x2dc], 0x761ac7eb
mov dword [ebp - 0x18], 0
jmp 0x422b1a
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x422b30
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x29c], 0x6c715341
jmp 0x422b13
mov dword [ebp - 0x18], 0
jmp 0x422b40
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x422b5c
push dword [ebp - 0x18]
lea ecx, [ebp - 0x2b8]
call fcn.00413f7a
mov dword [eax], 1
jmp 0x422b39
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x310], eax
cmp dword [ebp - 0x40], 0
jge 0x422b77
mov dword [ebp - 0x110], 1
jmp 0x422b7e
and dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 0x2c44
jge 0x422ba2
mov dword [ebp - 0x118], 1
jmp 0x422ba9
and dword [ebp - 0x118], 0
mov dword [ebp - 8], 0xfffffff7
mov eax, dword [ebp - 8]
imul eax, dword [ebp - 0x118]
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
je 0x422bdb
cmp dword [ebp - 8], 0
je 0x422bdb
mov dword [ebp - 0x170], 1
jmp 0x422be2
and dword [ebp - 0x170], 0
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x170], eax
jne 0x422bf9
mov dword [ebp - 0x120], 1
jmp 0x422c00
and dword [ebp - 0x120], 0
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x120]
add eax, 0x34859bb
cmp eax, 0x3b16aac8
jl 0x422c25
mov dword [ebp - 0x98], 1
jmp 0x422c2c
and dword [ebp - 0x98], 0
push 4
pop eax
imul eax, eax, 3
mov ecx, dword [ebp - 0x98]
mov dword [ebp + eax - 0x29c], ecx
cmp dword [ebp - 0x98], 9
jbe 0x422c54
mov dword [ebp - 0xb0], 1
jmp 0x422c5b
and dword [ebp - 0xb0], 0
push 0
lea ecx, [ebp - 0x2b8]
call fcn.00413f7a
mov ecx, dword [ebp - 0xb0]
mov dword [eax], ecx
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0xb0], eax
jge 0x422c87
mov dword [ebp - 0x1b8], 1
jmp 0x422c8e
and dword [ebp - 0x1b8], 0
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0xb8], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0xb8]
mov dword [ebp + eax - 0x2e8], ecx
mov dword [ebp - 8], 3
jmp 0x422cbd
mov eax, dword [ebp - 8]
dec eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jl 0x422e27
mov dword [ebp - 0x1a8], 0xdb9bec7a
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x29c]
mov dword [ebp - 0x30c], eax
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0xa8]
cmp dword [ebp + eax - 0x29c], ecx
jne 0x422d01
mov dword [ebp - 0x128], 1
jmp 0x422d08
and dword [ebp - 0x128], 0
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x29c]
cmp dword [ebp - 0x128], eax
jne 0x422d26
mov dword [ebp - 0x178], 1
jmp 0x422d2d
and dword [ebp - 0x178], 0
mov eax, dword [ebp - 0xb8]
cmp eax, dword [ebp - 0x178]
jge 0x422d47
mov dword [ebp - 0x130], 1
jmp 0x422d4e
and dword [ebp - 0x130], 0
mov eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x130]
sub eax, dword [ebp - 0x1a8]
je 0x422d75
cmp dword [ebp - 0x1a8], 0
je 0x422d75
mov dword [ebp - 0x138], 1
jmp 0x422d7c
and dword [ebp - 0x138], 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x138]
add ecx, 0xb458
cmp dword [ebp + eax*4 - 0x29c], ecx
jg 0x422da0
mov dword [ebp - 0x180], 1
jmp 0x422da7
and dword [ebp - 0x180], 0
push 0
lea ecx, [ebp - 0x2b8]
call fcn.00413f7a
mov ecx, dword [ebp - 0x180]
cmp ecx, dword [eax]
jge 0x422dca
mov dword [ebp - 0x2a0], 1
jmp 0x422dd1
and dword [ebp - 0x2a0], 0
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x29c]
mov dword [ebp - 0x308], eax
mov eax, 0xd240
cmp eax, 0xb460
jne 0x422df9
mov dword [ebp - 0x140], 1
jmp 0x422e00
and dword [ebp - 0x140], 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x140]
mov dword [ebp + eax*4 - 0x29c], ecx
mov byte [ebp - 0x46], 0
movzx eax, byte [ebp - 0x46]
test eax, eax
je 0x422e22
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x422cb6
lea ecx, [ebp - 0x2b8]
call fcn.00413f75
mov eax, dword [ebp - 0x60]
mov dword [eax], 0
jmp 0x422e48
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x60]
mov dword [ecx], eax
mov eax, dword [ebp - 0x60]
cmp dword [eax], 2
jge 0x422e68
mov eax, dword [ebp - 0x60]
push dword [eax]
mov ecx, dword [ebp - 0x230]
call fcn.00413f7a
mov dword [eax], 1
jmp 0x422e3d
jmp 0x42397d
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x10], 9
mov dword [ebp - 0xec], 0x4e20eeb
mov dword [ebp - 0x288], 0x38fd2320
mov dword [ebp - 0x10], 0
jmp 0x422ea4
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x14
jle 0x423338
mov dword [ebp - 0x54], 0xffffffff
mov dword [ebp - 0x84], 0
jmp 0x422ece
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 3
jge 0x422eea
mov eax, dword [ebp - 0x84]
mov dword [ebp + eax*4 - 0x1d4], 0xfffffff6
jmp 0x422ec1
mov dword [ebp - 0x54], 0
jmp 0x422efa
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 9
je 0x423333
mov dword [ebp - 0x14], 0xffffffff
cmp dword [ebp - 0x10], 0
je 0x422f15
cmp dword [ebp - 0x14], 0
cmp dword [ebp - 0x54], 0
jne 0x422f91
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x31c], eax
cmp dword [ebp - 0x10], 0
je 0x422f45
cmp dword [ebp - 0x14], 0
je 0x422f45
mov dword [ebp - 0x1c8], 1
jmp 0x422f4c
and dword [ebp - 0x1c8], 0
mov eax, dword [ebp - 0x1c8]
add eax, 0x53f0d3ec
mov dword [ebp - 0x148], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x148]
mov dword [ebp + eax - 0x1d4], ecx
cmp dword [ebp - 0x148], 0
je 0x422f7f
cmp dword [ebp - 0x14], 0
jne 0x422f91
mov eax, 0x32c5
test eax, eax
jne 0x422f91
and dword [ebp - 0xd0], 0
jmp 0x422f9b
mov dword [ebp - 0xd0], 1
cmp dword [ebp - 0xd0], 0x4adc
jg 0x422fab
cmp dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
je 0x423323
or eax, 0xffffffff
je 0x423323
mov dword [ebp - 0x238], 0x7758a8c
push 4
lea ecx, [ebp - 0x284]
call fcn.00413ed8
mov dword [ebp - 0x68], 0
jmp 0x422fe7
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 4
jge 0x423003
push dword [ebp - 0x68]
lea ecx, [ebp - 0x284]
call fcn.00413f7a
mov dword [eax], 0x600bf094
jmp 0x422fe0
mov dword [ebp - 0x14], 2
jmp 0x423013
mov eax, dword [ebp - 0x14]
dec eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jl 0x423316
mov dword [ebp - 0x2cc], 0x46e74a6e
mov dword [ebp - 0x2c8], 0x46e74a6e
mov dword [ebp - 0x2c4], 0x46e74a6e
mov dword [ebp - 0x2c0], 0x46e74a6e
lea ecx, [ebp - 0x9d]
call fcn.00401e75
push eax
lea eax, [ebp - 0x2bc]
push eax
lea eax, [ebp - 0x2cc]
push eax
lea ecx, [ebp - 0x358]
call fcn.00413f89
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x1e0]
call fcn.00413f4b
push 1
lea ecx, [ebp - 0x1e0]
call fcn.00413f7a
and dword [eax], 0
jmp 0x4230b0
push 1
lea ecx, [ebp - 0x1e0]
call fcn.00413f7a
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0xc8]
mov dword [ecx], eax
push 1
lea ecx, [ebp - 0x1e0]
call fcn.00413f7a
cmp dword [eax], 2
jg 0x423306
mov dword [ebp - 0x11c], 1
push 1
lea ecx, [ebp - 0x1e0]
call fcn.00413f7a
mov eax, dword [eax]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp + ecx*4 - 0x1d4]
cmp dword [ebp + eax*4 - 0x1d4], ecx
jl 0x4232b1
mov dword [ebp - 0xa4], 0xfffffff8
mov byte [ebp - 0x35], 0
movzx eax, byte [ebp - 0x35]
test eax, eax
je 0x42311b
push 0x14d5
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x238], eax
push 2
lea ecx, [ebp - 0x1e0]
call fcn.00413f7a
cmp dword [eax], 8
jge 0x423145
mov dword [ebp - 0xdc], 1
jmp 0x42314c
and dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x1d4]
cmp eax, dword [ebp - 0xdc]
jg 0x42316a
mov dword [ebp - 0xe4], 1
jmp 0x423171
and dword [ebp - 0xe4], 0
mov esi, dword [ebp - 0xa4]
add esi, dword [ebp - 0xe4]
push 0
lea ecx, [ebp - 0x284]
call fcn.00413f7a
cmp esi, dword [eax]
je 0x42319a
mov dword [ebp - 0x9c], 1
jmp 0x4231a1
and dword [ebp - 0x9c], 0
push 0
lea ecx, [ebp - 0x284]
call fcn.00413f7a
mov ecx, dword [ebp - 0x9c]
mov dword [eax], ecx
mov eax, dword [ebp - 0xec]
cmp dword [ebp - 0x9c], eax
jl 0x4231d0
mov dword [ebp - 0xf4], 1
jmp 0x4231d7
and dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0xf4], eax
jg 0x4231f1
mov dword [ebp - 0xfc], 1
jmp 0x4231f8
and dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0xfc], eax
jle 0x423212
mov dword [ebp - 0x104], 1
jmp 0x423219
and dword [ebp - 0x104], 0
mov eax, 0xa164e62b
sub eax, dword [ebp - 0x104]
sub eax, 0x5f7f7777
push 4
pop ecx
imul ecx, ecx, 0
cmp eax, dword [ebp + ecx - 0x1d4]
jl 0x423244
mov dword [ebp - 0xac], 1
jmp 0x42324b
and dword [ebp - 0xac], 0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xac]
mov dword [ebp + eax*4 - 0x1d4], ecx
xor eax, eax
inc eax
sub eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x11c]
jg 0x423278
mov dword [ebp - 0x10c], 1
jmp 0x42327f
and dword [ebp - 0x10c], 0
cmp dword [ebp - 0x10c], 0x8af1
jne 0x423297
mov dword [ebp - 0x114], 1
jmp 0x42329e
and dword [ebp - 0x114], 0
mov eax, dword [ebp - 0x114]
sub eax, 0xad53
mov dword [ebp - 0x11c], eax
jmp 0x423301
mov byte [ebp - 0x36], 0
movzx eax, byte [ebp - 0x36]
test eax, eax
je 0x4232c3
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x1d4]
mov dword [ebp - 0x124], eax
push 0
lea ecx, [ebp - 0x284]
call fcn.00413f7a
mov ecx, dword [ebp - 0x124]
mov dword [eax], ecx
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x124]
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x1d4], eax
jmp 0x42308c
lea ecx, [ebp - 0x1e0]
call fcn.00413f75
jmp 0x42300c
lea ecx, [ebp - 0x284]
call fcn.00413f75
jmp 0x42332e
cmp dword [ebp - 0x288], 0
je 0x42332e
jmp 0x423333
jmp 0x422ef3
jmp 0x422e9d
mov eax, dword [ebp - 0x240]
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x6c], 0xffffffff
mov byte [ebp - 0x38], 0
movzx eax, byte [ebp - 0x38]
test eax, eax
je 0x423377
push 0
push 0x1217
push 0xc82
push 0
push 0x7b0
push 0x719
push 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x6c], 0
jmp 0x423387
mov eax, dword [ebp - 0x6c]
dec eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xfffffff8
jg 0x4233a4
mov dword [ebp - 0x268], 6
cmp dword [ebp - 0x268], 0
je 0x4233a2
jmp 0x4233a4
jmp 0x423380
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x22c], eax
push 4
lea ecx, [ebp - 0xc4]
call fcn.00413ed8
mov dword [ebp - 0x24], 0x66fe7d8a
mov dword [ebp - 0x214], 9
mov dword [ebp - 0x74], 0
jmp 0x4233de
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 4
jge 0x4233fa
push dword [ebp - 0x74]
lea ecx, [ebp - 0xc4]
call fcn.00413f7a
mov dword [eax], 1
jmp 0x4233d7
mov dword [ebp - 0x24], 0
jmp 0x42340a
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jg 0x423764
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x14c], 0x57a55752
mov dword [ebp - 0xc], 0
jmp 0x423435
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 3
jg 0x42374c
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x208], 0xfffffffc
mov dword [ebp - 0x204], 0xfffffffc
mov dword [ebp - 0x200], 0xfffffffc
mov dword [ebp - 0x1fc], 0xfffffffc
mov dword [ebp - 0x34], 0
jmp 0x42347e
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 3
jg 0x423572
mov dword [ebp - 0x28], 0xfffffffc
mov dword [ebp - 0x28], 3
jmp 0x42349f
mov eax, dword [ebp - 0x28]
dec eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jl 0x4234e8
push dword [ebp - 0xc]
lea ecx, [ebp - 0xc4]
call fcn.00413f7a
mov dword [ebp - 0x12c], eax
push dword [ebp - 0x28]
lea ecx, [ebp - 0xc4]
call fcn.00413f7a
mov ecx, dword [ebp - 0x12c]
mov eax, dword [eax]
mov dword [ecx], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x12c]
mov ecx, dword [ecx]
mov dword [ebp + eax - 0x208], ecx
jmp 0x423498
mov dword [ebp - 0x28], 0
jmp 0x4234f8
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 3
jg 0x42356d
mov dword [ebp - 0x2c], 0x969161d5
mov dword [ebp - 0x2c], 0
jmp 0x423515
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 3
jg 0x423532
push dword [ebp - 0x24]
lea ecx, [ebp - 0xc4]
call fcn.00413f7a
cmp dword [eax], 0
je 0x423530
jmp 0x423532
jmp 0x42350e
mov dword [ebp - 0x2c], 3
jmp 0x423542
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jl 0x42356b
mov byte [ebp - 0x3a], 0
movzx eax, byte [ebp - 0x3a]
test eax, eax
je 0x423569
push 0xc1e
push 0x3d3
push 0x44b
call dword [sym.imp.GDI32.dll_GetPixel]
jmp 0x42353b
jmp 0x4234f1
jmp 0x423477
cmp dword [ebp - 0xc], 0x1f433c8a
jl 0x423587
mov dword [ebp - 0x134], 1
jmp 0x42358e
and dword [ebp - 0x134], 0
mov eax, dword [ebp - 0x14c]
imul eax, dword [ebp - 0x134]
cmp eax, 0xe769035a
jae 0x4235ae
mov dword [ebp - 0x1f8], 1
jmp 0x4235b5
and dword [ebp - 0x1f8], 0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x320], eax
push 3
lea ecx, [ebp - 0xc4]
call fcn.00413f7a
push 4
pop ecx
imul ecx, ecx, 0
mov ecx, dword [ebp + ecx - 0x208]
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x208], 0
jne 0x4235f1
mov eax, 0xffff
test eax, eax
je 0x423600
cmp dword [ebp - 0xc], 0
jne 0x423600
and dword [ebp - 0x13c], 0
jmp 0x42360a
mov dword [ebp - 0x13c], 1
push dword [ebp - 0xc]
lea ecx, [ebp - 0xc4]
call fcn.00413f7a
push 4
pop ecx
imul ecx, ecx, 0
mov edx, dword [ebp - 0x13c]
sub edx, dword [ebp + ecx - 0x208]
cmp dword [eax], edx
jl 0x42363b
mov dword [ebp - 0x144], 1
jmp 0x423642
and dword [ebp - 0x144], 0
cmp dword [ebp - 0x144], 0x919c44d4
ja 0x42365a
mov dword [ebp - 0x154], 1
jmp 0x423661
and dword [ebp - 0x154], 0
mov eax, dword [ebp - 0x14c]
cmp dword [ebp - 0x154], eax
jle 0x42367b
mov dword [ebp - 0x15c], 1
jmp 0x423682
and dword [ebp - 0x15c], 0
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x15c], eax
je 0x423699
mov dword [ebp - 0xb4], 1
jmp 0x4236a0
and dword [ebp - 0xb4], 0
push dword [ebp - 0xc]
lea ecx, [ebp - 0xc4]
call fcn.00413f7a
mov ecx, dword [ebp - 0xb4]
mov dword [eax], ecx
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x4236da
mov eax, 0xddd5d57d
test eax, eax
je 0x4236da
mov dword [ebp - 0x1f4], 1
jmp 0x4236e1
and dword [ebp - 0x1f4], 0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x24]
add eax, 0x68d9a65c
cmp eax, dword [ebp - 0x24]
jle 0x423703
mov dword [ebp - 0x164], 1
jmp 0x42370a
and dword [ebp - 0x164], 0
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x164], eax
jne 0x423731
push dword [ebp - 0xc]
lea ecx, [ebp - 0xc4]
call fcn.00413f7a
cmp dword [eax], 0
jne 0x423731
and dword [ebp - 0x16c], 0
jmp 0x42373b
mov dword [ebp - 0x16c], 1
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x214], eax
jmp 0x42342e
push 3
lea ecx, [ebp - 0xc4]
call fcn.00413f7a
mov dword [eax], 0xfffffffa
jmp 0x423403
lea ecx, [ebp - 0xc4]
call fcn.00413f75
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x174], 0x9eeda585
mov dword [ebp - 4], 0
jmp 0x423795
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 3
jge 0x4237ab
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x190], 0x888a
jmp 0x42378e
mov dword [ebp - 4], 0
jmp 0x4237bb
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 3
jge 0x4237d1
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x350], 0x57f451d5
jmp 0x4237b4
mov dword [ebp - 4], 0
jmp 0x4237e1
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 3
jge 0x4237f7
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x344], 0xffffffff
jmp 0x4237da
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x190], 0
jae 0x423819
mov eax, 0xd7bc
test eax, eax
jne 0x423819
and dword [ebp - 0x224], 0
jmp 0x423823
mov dword [ebp - 0x224], 1
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x190]
mov dword [ebp - 0x328], eax
mov dword [ebp - 0x174], 1
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x17c], eax
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x17c]
mov dword [ebp + eax - 0x350], ecx
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x17c]
sub ecx, dword [ebp + eax - 0x190]
push 4
pop eax
imul eax, eax, 0
cmp ecx, dword [ebp + eax - 0x190]
jle 0x42389b
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x190], 0
je 0x42389b
mov dword [ebp - 0x184], 1
jmp 0x4238a2
and dword [ebp - 0x184], 0
cmp dword [ebp - 0x184], 0x7a67
jle 0x4238ba
mov dword [ebp - 0x194], 1
jmp 0x4238c1
and dword [ebp - 0x194], 0
cmp dword [ebp - 0x194], 0
jge 0x4238d6
mov dword [ebp - 0x19c], 1
jmp 0x4238dd
and dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x19c]
add eax, 0x3d87e3bc
push 4
pop ecx
shl ecx, 1
cmp eax, dword [ebp + ecx - 0x190]
jg 0x423902
mov dword [ebp - 0x1a4], 1
jmp 0x423909
and dword [ebp - 0x1a4], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x190]
cmp eax, dword [ebp - 0x1a4]
je 0x423929
mov dword [ebp - 0x1ac], 1
jmp 0x423930
and dword [ebp - 0x1ac], 0
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0x1ac]
sub ecx, dword [ebp + eax - 0x190]
cmp ecx, 1
ja 0x423953
mov dword [ebp - 0x1b4], 1
jmp 0x42395a
and dword [ebp - 0x1b4], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x1b4]
mov dword [ebp + eax - 0x344], ecx
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x234]
mov ecx, dword [ecx]
mov dword [eax], ecx
pop esi
mov esp, ebp
pop ebp
ret