Function at 0x1003f1df
Capabilities:
Check os version
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006f89e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x2f8
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x60], 0
jmp 0x1003f21b
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x10
jle 0x1003f24a
mov dword [ebp - 0x70], 7
mov dword [ebp - 0x70], 0xffffffed
jmp 0x1003f238
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0xfffffff7
je 0x1003f248
cmp dword [ebp - 0x60], 0
je 0x1003f246
jmp 0x1003f248
jmp 0x1003f231
jmp 0x1003f214
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0xb8], 0xb66bafcb
mov dword [ebp - 0x164], 0x5fa2ef7
mov dword [ebp - 0x2ac], 0xa26cdee9
mov dword [ebp - 0x38], 0x1a
jmp 0x1003f27f
mov eax, dword [ebp - 0x38]
dec eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xfffffffe
jle 0x1003f3c8
mov dword [ebp - 0xb0], 0xfffffffd
mov dword [ebp - 0xa0], 0xc42206dd
mov dword [ebp - 0x1a8], 0x811fc80a
cmp dword [ebp - 0xb0], 0
je 0x1003f2b5
jmp 0x1003f3c8
mov eax, 0xf9986e3
test eax, eax
je 0x1003f2c5
cmp dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x164], eax
cmp dword [ebp - 0x164], 0
jne 0x1003f2ec
mov eax, 0x4361
test eax, eax
jne 0x1003f2ec
and dword [ebp - 0x200], 0
jmp 0x1003f2f6
mov dword [ebp - 0x200], 1
mov eax, dword [ebp - 0xa0]
imul eax, dword [ebp - 0x200]
cmp eax, 0xffffffff
jae 0x1003f314
mov dword [ebp - 0x204], 1
jmp 0x1003f31b
and dword [ebp - 0x204], 0
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x2b8], eax
mov eax, 0x8886
cmp eax, 0xc65b
je 0x1003f343
cmp dword [ebp - 0x38], 0
cmp dword [ebp - 0xa0], 0x9653
jl 0x1003f35b
mov dword [ebp - 0xe8], 1
jmp 0x1003f362
and dword [ebp - 0xe8], 0
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0xe8], eax
je 0x1003f379
mov dword [ebp - 0x230], 1
jmp 0x1003f380
and dword [ebp - 0x230], 0
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x2c0], eax
cmp dword [ebp - 0x1a8], 0x94d0e83
jne 0x1003f3ad
mov dword [ebp - 0xf0], 1
jmp 0x1003f3b4
and dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0xf0]
mov dword [ebp - 0xa0], eax
jmp 0x1003f278
mov dword [ebp - 0xb8], 0xe731e7bf
mov dword [ebp - 0x1c], 0x3df75dce
mov dword [ebp - 0x1c0], 0x6ea0e402
mov dword [ebp - 0x21c], 0xaf1ba137
mov dword [ebp - 0x1c], 0x19
jmp 0x1003f3fd
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xffffffe3
jg 0x1003f435
mov byte [ebp - 0x3f], 0
movzx eax, byte [ebp - 0x3f]
test eax, eax
je 0x1003f417
push 0
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov byte [ebp - 0x44], 0
movzx eax, byte [ebp - 0x44]
test eax, eax
je 0x1003f433
push 0xbd4
push 0xf80
call dword [sym.imp.GDI32.dll_RestoreDC]
jmp 0x1003f3f6
mov dword [ebp - 0x1c], 0
jmp 0x1003f445
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xfffffffa
jge 0x1003f67a
mov dword [ebp - 0x20], 0x32937a3a
mov dword [ebp - 0x20], 0xffffffef
jmp 0x1003f466
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jg 0x1003f675
mov dword [ebp - 0x78], 0xcc590f02
mov dword [ebp - 0x94], 7
mov dword [ebp - 0x250], 0xfffffffe
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x250]
cmp eax, dword [ebp - 0x1c]
je 0x1003f4af
mov dword [ebp - 0x1b0], 1
jmp 0x1003f4b6
and dword [ebp - 0x1b0], 0
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x1b0]
cmp eax, 0xf1fe
jge 0x1003f4d3
mov dword [ebp - 0xf8], 1
jmp 0x1003f4da
and dword [ebp - 0xf8], 0
mov eax, dword [ebp - 0xf8]
sub eax, 0x126e
cmp eax, dword [ebp - 0x20]
jg 0x1003f4f6
mov dword [ebp - 0x1b8], 1
jmp 0x1003f4fd
and dword [ebp - 0x1b8], 0
cmp dword [ebp - 0x1b8], 0xf321ee01
jb 0x1003f515
mov dword [ebp - 0x100], 1
jmp 0x1003f51c
and dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x1c0]
cmp eax, dword [ebp - 0x20]
je 0x1003f53f
mov dword [ebp - 0x108], 1
jmp 0x1003f546
and dword [ebp - 0x108], 0
cmp dword [ebp - 0x108], 0xfff8
ja 0x1003f55e
mov dword [ebp - 0x1c8], 1
jmp 0x1003f565
and dword [ebp - 0x1c8], 0
mov eax, dword [ebp - 0x94]
cmp dword [ebp - 0x1c8], eax
jne 0x1003f585
mov eax, 0x1d691704
test eax, eax
jne 0x1003f585
and dword [ebp - 0x110], 0
jmp 0x1003f58f
mov dword [ebp - 0x110], 1
mov eax, dword [ebp - 0x94]
cmp eax, dword [ebp - 0x110]
jge 0x1003f5a9
mov dword [ebp - 0x1d0], 1
jmp 0x1003f5b0
and dword [ebp - 0x1d0], 0
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x21c], eax
mov eax, 0xffff
imul eax, eax, 0
cmp eax, 0xd49acb08
jae 0x1003f5dd
mov eax, 0xb31cf6a1
test eax, eax
jne 0x1003f5dd
and dword [ebp - 0x118], 0
jmp 0x1003f5e7
mov dword [ebp - 0x118], 1
mov eax, dword [ebp - 0x118]
sub eax, 4
cmp eax, dword [ebp - 0x20]
jle 0x1003f5f9
cmp dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x94]
cmp eax, dword [ebp - 0x20]
jne 0x1003f619
mov dword [ebp - 0x1d8], 1
jmp 0x1003f620
and dword [ebp - 0x1d8], 0
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
cmp eax, dword [ebp - 0x1d8]
je 0x1003f63d
mov dword [ebp - 0x120], 1
jmp 0x1003f644
and dword [ebp - 0x120], 0
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x94], eax
mov byte [ebp - 0x3d], 0
movzx eax, byte [ebp - 0x3d]
test eax, eax
je 0x1003f670
push 0
push 0
push 0x1c9d
push 0x144d
call dword [sym.imp.USER32.dll_DefWindowProcA]
jmp 0x1003f45f
jmp 0x1003f43e
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x30], 0
jmp 0x1003f691
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 2
jge 0x1003f6a7
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x300], 0x62fd41e5
jmp 0x1003f68a
mov dword [ebp - 0x30], 0
jmp 0x1003f6b7
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 4
jge 0x1003f6cd
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x144], 0xa7c20398
jmp 0x1003f6b0
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0x144], 0
jmp 0x1003f6fb
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x144]
inc eax
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0x144], eax
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x144], 1
jg 0x1003f754
mov dword [ebp - 0x80], 0x74b666a7
mov dword [ebp - 0x80], 1
jmp 0x1003f722
mov eax, dword [ebp - 0x80]
dec eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
jl 0x1003f752
mov byte [ebp - 0x45], 0
movzx eax, byte [ebp - 0x45]
test eax, eax
je 0x1003f750
push 0xb0f
push 0xbde
push 0x35b
push 0x25db
push 0
call dword [sym.imp.USER32.dll_PeekMessageA]
jmp 0x1003f71b
jmp 0x1003f6e0
push 4
pop eax
shl eax, 0
push 4
pop ecx
shl ecx, 0
mov ecx, dword [ebp + ecx - 0x144]
cmp ecx, dword [ebp + eax - 0x144]
jge 0x1003f77c
mov dword [ebp - 0x1e0], 1
jmp 0x1003f783
and dword [ebp - 0x1e0], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x144]
cmp eax, dword [ebp - 0x1e0]
jg 0x1003f7a4
mov dword [ebp - 0x128], 1
jmp 0x1003f7ab
and dword [ebp - 0x128], 0
cmp dword [ebp - 0x128], 1
jg 0x1003f7c0
mov dword [ebp - 0x1e8], 1
jmp 0x1003f7c7
and dword [ebp - 0x1e8], 0
mov dword [ebp - 0x54], 0xffffffff
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x54]
add ecx, dword [ebp - 0x1e8]
cmp ecx, dword [ebp + eax - 0x144]
jl 0x1003f7f2
mov dword [ebp - 0x130], 1
jmp 0x1003f7f9
and dword [ebp - 0x130], 0
cmp dword [ebp - 0x130], 1
ja 0x1003f80e
mov dword [ebp - 0x1f0], 1
jmp 0x1003f815
and dword [ebp - 0x1f0], 0
cmp dword [ebp - 0x1f0], 0x856d
jne 0x1003f82d
mov dword [ebp - 0x1f8], 1
jmp 0x1003f834
and dword [ebp - 0x1f8], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x144]
add eax, dword [ebp - 0x1f8]
jne 0x1003f85b
mov eax, 0x335c0de4
test eax, eax
jne 0x1003f85b
and dword [ebp - 0x1a4], 0
jmp 0x1003f865
mov dword [ebp - 0x1a4], 1
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0x1a4]
neg ecx
cmp ecx, dword [ebp + eax - 0x144]
jg 0x1003f887
mov dword [ebp - 0x14c], 1
jmp 0x1003f88e
and dword [ebp - 0x14c], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x144]
sub eax, dword [ebp - 0x14c]
je 0x1003f8d6
mov dword [ebp - 0x54], 1
jmp 0x1003f8b3
mov eax, dword [ebp - 0x54]
dec eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
jl 0x1003f8d4
mov byte [ebp - 0x41], 0
movzx eax, byte [ebp - 0x41]
test eax, eax
je 0x1003f8d2
push 0
push 0x551
call dword [sym.imp.GDI32.dll_CreateHatchBrush]
jmp 0x1003f8ac
jmp 0x1003f8ec
mov byte [ebp - 0x4e], 0
movzx eax, byte [ebp - 0x4e]
test eax, eax
je 0x1003f8ec
push 0
push 0
call dword [sym.imp.USER32.dll_UnregisterClassA]
mov dword [ebp - 0x18], 1
push 3
lea ecx, [ebp - 0xdc]
call fcn.100219b2
and dword [ebp - 4], 0
mov dword [ebp - 0x24], 0xe7179999
mov dword [ebp - 0x4c], 0x510212ae
mov dword [ebp - 0x9c], 0
jmp 0x1003f92b
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 3
jge 0x1003f94d
push dword [ebp - 0x9c]
lea ecx, [ebp - 0xdc]
call fcn.10021a50
mov dword [eax], 0xcdf9
jmp 0x1003f91e
mov dword [ebp - 0x18], 0
jmp 0x1003f95d
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffe6
je 0x1003fe53
mov dword [ebp - 0x14], 0x33efc07e
mov dword [ebp - 0x14], 0
jmp 0x1003f97e
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jg 0x1003fd6c
mov dword [ebp - 0x3c], 0x4ebb0cb8
push 1
lea ecx, [ebp - 0x260]
call fcn.100219b2
mov byte [ebp - 4], 1
mov dword [ebp - 0x1dc], 0x2aafa0b2
mov dword [ebp - 0x88], 0
jmp 0x1003f9c3
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 1
jge 0x1003f9e5
push dword [ebp - 0x88]
lea ecx, [ebp - 0x260]
call fcn.10021a50
mov dword [eax], 1
jmp 0x1003f9b6
mov dword [ebp - 0x3c], 0
jmp 0x1003f9f5
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 2
jg 0x1003fd58
mov dword [ebp - 0x210], 1
mov dword [ebp - 0xc4], 1
mov byte [ebp - 0x43], 0
movzx eax, byte [ebp - 0x43]
test eax, eax
je 0x1003fa27
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov dword [ebp - 0x17c], 0x5a0e
mov dword [ebp - 0x220], 0x10008c64
cmp dword [ebp - 0x17c], 0x5d73
jle 0x1003fabe
and dword [ebp - 0xa4], 0
jmp 0x1003fa5d
mov eax, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0x5681
jge 0x1003fabe
and dword [ebp - 0x90], 0
jmp 0x1003fa7f
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0x2191
jge 0x1003fabc
mov eax, dword [ebp - 0xa4]
xor eax, dword [ebp - 0x90]
cdq
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x224], edx
push dword [ebp - 0x224]
push dword [ebp - 0x228]
mov ecx, 0x10617278
call fcn.10021772
jmp 0x1003fa72
jmp 0x1003fa50
cmp dword [ebp - 0x14], 0
jne 0x1003fad3
cmp dword [ebp - 0x18], 0
jne 0x1003fad3
and dword [ebp - 0x154], 0
jmp 0x1003fadd
mov dword [ebp - 0x154], 1
cmp dword [ebp - 0x3c], 5
jb 0x1003faef
mov dword [ebp - 0xcc], 1
jmp 0x1003faf6
and dword [ebp - 0xcc], 0
push 0
lea ecx, [ebp - 0x260]
call fcn.10021a50
mov ecx, dword [ebp - 0xcc]
mov dword [eax], ecx
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0xcc], eax
je 0x1003fb31
push 0
lea ecx, [ebp - 0x260]
call fcn.10021a50
cmp dword [eax], 0
jne 0x1003fb31
and dword [ebp - 0x1d4], 0
jmp 0x1003fb3b
mov dword [ebp - 0x1d4], 1
mov eax, dword [ebp - 0x3c]
imul eax, dword [ebp - 0x1d4]
add eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x154]
sub ecx, eax
cmp ecx, dword [ebp - 0x210]
jge 0x1003fb64
mov dword [ebp - 0x244], 1
jmp 0x1003fb6b
and dword [ebp - 0x244], 0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x2ec], eax
push 2
lea ecx, [ebp - 0xdc]
call fcn.10021a50
cmp dword [ebp - 0x18], 0x1361
jl 0x1003fba2
mov dword [ebp - 0x1ac], 1
jmp 0x1003fba9
and dword [ebp - 0x1ac], 0
mov eax, dword [ebp - 0xc4]
cmp dword [ebp - 0x1ac], eax
jne 0x1003fbc3
mov dword [ebp - 0x218], 1
jmp 0x1003fbca
and dword [ebp - 0x218], 0
mov esi, dword [ebp - 0x18]
push dword [ebp - 0x14]
lea ecx, [ebp - 0xdc]
call fcn.10021a50
cmp esi, dword [eax]
jge 0x1003fbeb
mov dword [ebp - 0x15c], 1
jmp 0x1003fbf2
and dword [ebp - 0x15c], 0
cmp dword [ebp - 0x15c], 0
jbe 0x1003fc07
mov dword [ebp - 0x1ec], 1
jmp 0x1003fc0e
and dword [ebp - 0x1ec], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x1ec], eax
jge 0x1003fc40
push 1
lea ecx, [ebp - 0xdc]
call fcn.10021a50
cmp dword [eax], 0
jne 0x1003fc40
mov eax, 0x603d2cf3
test eax, eax
jne 0x1003fc40
mov dword [ebp - 0xe0], 1
jmp 0x1003fc47
and dword [ebp - 0xe0], 0
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0xe0], eax
je 0x1003fc5e
mov dword [ebp - 0x1b4], 1
jmp 0x1003fc65
and dword [ebp - 0x1b4], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x1b4], eax
jg 0x1003fc7c
mov dword [ebp - 0x16c], 1
jmp 0x1003fc83
and dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0x1dc]
cmp dword [ebp - 0x16c], eax
jle 0x1003fc9d
mov dword [ebp - 0x24c], 1
jmp 0x1003fca4
and dword [ebp - 0x24c], 0
push dword [ebp - 0x14]
lea ecx, [ebp - 0xdc]
call fcn.10021a50
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x1dc]
test eax, eax
je 0x1003fcd2
cmp dword [ebp - 0x14], 0
je 0x1003fcd2
mov dword [ebp - 0x174], 1
jmp 0x1003fcd9
and dword [ebp - 0x174], 0
mov eax, dword [ebp - 0xc4]
cmp dword [ebp - 0x174], eax
jge 0x1003fcf3
mov dword [ebp - 0x1bc], 1
jmp 0x1003fcfa
and dword [ebp - 0x1bc], 0
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 2
cmp dword [ebp - 0x17c], 0x593c
jge 0x1003fd27
mov edx, dword [ebp - 0x220]
mov ecx, 0x10617278
call fcn.10025ce5
jmp 0x1003fd43
mov dword [ebp - 4], 1
jmp 0x1003fd53
jmp 0x1003f9ee
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x260]
call fcn.10021a34
jmp 0x1003f977
mov dword [ebp - 0x24], 0
jmp 0x1003fd7c
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 2
jg 0x1003fe4e
mov dword [ebp - 0x254], 0x4171b3fe
mov dword [ebp - 0x14], 0
jmp 0x1003fda0
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jg 0x1003fdd1
mov byte [ebp - 0x4d], 0
movzx eax, byte [ebp - 0x4d]
test eax, eax
je 0x1003fdbc
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetCommTimeouts]
push dword [ebp - 0x14]
lea ecx, [ebp - 0xdc]
call fcn.10021a50
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
jmp 0x1003fd99
cmp dword [ebp - 0x14], 0
jne 0x1003fe12
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2e8], eax
cmp dword [ebp - 0x254], 0xfffffffc
jl 0x1003fdf5
mov dword [ebp - 0x1fc], 1
jmp 0x1003fdfc
and dword [ebp - 0x1fc], 0
mov eax, dword [ebp - 0x1fc]
sub eax, 0x3a3d25b0
jne 0x1003fe12
and dword [ebp - 0x184], 0
jmp 0x1003fe1c
mov dword [ebp - 0x184], 1
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x184], eax
je 0x1003fe39
cmp dword [ebp - 0x14], 0
je 0x1003fe39
mov dword [ebp - 0x1c4], 1
jmp 0x1003fe40
and dword [ebp - 0x1c4], 0
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x4c], eax
jmp 0x1003fd75
jmp 0x1003f956
push 2
lea ecx, [ebp - 0xdc]
call fcn.10021a50
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x2a0], eax
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x4c]
push 1
lea ecx, [ebp - 0xdc]
call fcn.10021a50
add edi, dword [eax]
mov eax, dword [ebp - 0x4c]
sub eax, edi
cmp eax, esi
jg 0x1003fe93
mov dword [ebp - 0x18c], 1
jmp 0x1003fe9a
and dword [ebp - 0x18c], 0
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x18c]
jne 0x1003feb1
mov dword [ebp - 0x1e4], 1
jmp 0x1003feb8
and dword [ebp - 0x1e4], 0
xor eax, eax
sub eax, dword [ebp - 0x1e4]
cmp eax, dword [ebp - 0x24]
jne 0x1003fed6
xor eax, eax
inc eax
je 0x1003fed6
mov dword [ebp - 0x194], 1
jmp 0x1003fedd
and dword [ebp - 0x194], 0
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x194], eax
jne 0x1003fef4
mov dword [ebp - 0x1cc], 1
jmp 0x1003fefb
and dword [ebp - 0x1cc], 0
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x1cc], eax
jge 0x1003ff12
mov dword [ebp - 0x19c], 1
jmp 0x1003ff19
and dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x19c], eax
jge 0x1003ff30
mov dword [ebp - 0x1f4], 1
jmp 0x1003ff37
and dword [ebp - 0x1f4], 0
cmp dword [ebp - 0x1f4], 0xfffffff7
je 0x1003ff4f
cmp dword [ebp - 0x18], 0
jne 0x1003ff4f
and dword [ebp - 0x134], 0
jmp 0x1003ff59
mov dword [ebp - 0x134], 1
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x18], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xdc]
call fcn.10021a34
movzx eax, byte [0x106183d4]
test eax, eax
je 0x1003ff8f
mov esi, 0x10075888
mov edi, dword [ebp + 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 8]
jmp 0x100407cb
push 1
lea ecx, [ebp - 0x26c]
call fcn.100219b2
mov dword [ebp - 4], 4
mov dword [ebp - 0x98], 0xb4ffb87
mov dword [ebp - 0xac], 0
jmp 0x1003ffc6
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 1
jge 0x1003ffe8
push dword [ebp - 0xac]
lea ecx, [ebp - 0x26c]
call fcn.10021a50
mov dword [eax], 0xfffffff8
jmp 0x1003ffb9
mov byte [ebp - 0x3e], 0
movzx eax, byte [ebp - 0x3e]
test eax, eax
je 0x10040013
push 0xd33
push 0x18ec
push 0x19ad
push 0x1979
push 0x1a05
call dword [sym.imp.GDI32.dll_ExcludeClipRect]
mov dword [ebp - 0x98], 0
jmp 0x1004002c
mov eax, dword [ebp - 0x98]
dec eax
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0
jl 0x10040155
mov dword [ebp - 0x5c], 0x33992443
mov dword [ebp - 0x5c], 0
jmp 0x10040050
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jg 0x10040150
mov dword [ebp - 0x28], 0
push 2
lea ecx, [ebp - 0x28c]
call fcn.100219b2
mov byte [ebp - 4], 5
mov dword [ebp - 0x68], 0
jmp 0x10040082
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 2
jge 0x1004009b
push dword [ebp - 0x68]
lea ecx, [ebp - 0x28c]
call fcn.10021a50
and dword [eax], 0
jmp 0x1004007b
mov dword [ebp - 0x28], 0
jmp 0x100400ab
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 1
jge 0x100400c7
push dword [ebp - 0x28]
lea ecx, [ebp - 0x26c]
call fcn.10021a50
mov dword [eax], 0xcad2
jmp 0x100400a4
mov dword [ebp - 0x28], 0
jmp 0x100400d7
mov eax, dword [ebp - 0x28]
dec eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jl 0x1004013c
mov dword [ebp - 0x22c], 0x7d2703d9
cmp dword [ebp - 0x22c], 0
je 0x100400f2
jmp 0x1004013c
xor eax, eax
inc eax
je 0x1004011e
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x2a8], eax
push 0
lea ecx, [ebp - 0x26c]
call fcn.10021a50
cmp dword [eax], 0
je 0x1004011e
mov dword [ebp - 0x148], 1
jmp 0x10040125
and dword [ebp - 0x148], 0
push 0
lea ecx, [ebp - 0x28c]
call fcn.10021a50
mov ecx, dword [ebp - 0x148]
mov dword [eax], ecx
jmp 0x100400d0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x28c]
call fcn.10021a34
jmp 0x10040049
jmp 0x1004001f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x26c]
call fcn.10021a34
mov dword [ebp - 0x2b0], 0x10075888
mov dword [ebp - 0x2e0], 0x1007588c
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0xc0], 0xb66bafcb
mov dword [ebp - 0x150], 0x5fa2ef7
mov dword [ebp - 0x2b4], 0xa26cdee9
mov dword [ebp - 0x34], 0x1a
jmp 0x100401ad
mov eax, dword [ebp - 0x34]
dec eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0xfffffffe
jle 0x100402f6
mov dword [ebp - 0xb4], 0xfffffffd
mov dword [ebp - 0xa8], 0xc42206dd
mov dword [ebp - 0x168], 0x811fc80a
cmp dword [ebp - 0xb4], 0
je 0x100401e3
jmp 0x100402f6
mov eax, 0xf9986e3
test eax, eax
je 0x100401f3
cmp dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0
jne 0x1004021a
mov eax, 0x4361
test eax, eax
jne 0x1004021a
and dword [ebp - 0x158], 0
jmp 0x10040224
mov dword [ebp - 0x158], 1
mov eax, dword [ebp - 0xa8]
imul eax, dword [ebp - 0x158]
cmp eax, 0xffffffff
jae 0x10040242
mov dword [ebp - 0x248], 1
jmp 0x10040249
and dword [ebp - 0x248], 0
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x2bc], eax
mov eax, 0x8886
cmp eax, 0xc65b
je 0x10040271
cmp dword [ebp - 0x34], 0
cmp dword [ebp - 0xa8], 0x9653
jl 0x10040289
mov dword [ebp - 0x160], 1
jmp 0x10040290
and dword [ebp - 0x160], 0
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x160], eax
je 0x100402a7
mov dword [ebp - 0x234], 1
jmp 0x100402ae
and dword [ebp - 0x234], 0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x2e4], eax
cmp dword [ebp - 0x168], 0x94d0e83
jne 0x100402db
mov dword [ebp - 0x170], 1
jmp 0x100402e2
and dword [ebp - 0x170], 0
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x170]
mov dword [ebp - 0xa8], eax
jmp 0x100401a6
mov dword [ebp - 0xc0], 0xe731e7bf
mov byte [0x106183d4], 1
mov dword [ebp - 0x280], 9
mov dword [ebp - 0x27c], 9
mov dword [ebp - 0x278], 9
mov dword [ebp - 0x274], 9
lea ecx, [ebp - 0xb9]
call fcn.10021a5f
push eax
lea eax, [ebp - 0x270]
push eax
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebp - 0x308]
call fcn.10021a62
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x2f8]
call fcn.10021a0e
mov dword [ebp - 0x6c], 0xe5ccc90a
mov dword [ebp - 0x6c], 0
jmp 0x1004037b
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 3
jg 0x1004039d
mov byte [ebp - 0x40], 0
movzx eax, byte [ebp - 0x40]
test eax, eax
je 0x1004039b
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
jmp 0x10040374
lea ecx, [ebp - 0x2f8]
call fcn.10021a34
xor eax, eax
inc eax
imul eax, eax, 0x148
add eax, 0x10075608
mov dword [ebp - 0x104], eax
xor eax, eax
inc eax
imul eax, eax, 0x1c
add eax, 0x10075608
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x104]
mov dword [0x10075888], eax
mov dword [ebp - 0x74], 6
mov dword [ebp - 0xfc], 0xffffffff
mov dword [ebp - 0x7c], 0x732aa61f
push 3
lea ecx, [ebp - 0x240]
call fcn.100219b2
mov dword [ebp - 4], 6
mov dword [ebp - 0x2c4], 2
mov dword [ebp - 0x2c], 0
jmp 0x1004041e
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 3
jge 0x10040437
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x240]
call fcn.10021a50
and dword [eax], 0
jmp 0x10040417
mov dword [ebp - 0x2c], 0
jmp 0x10040447
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 4
jge 0x1004045d
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x29c], 0x60bc
jmp 0x10040440
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x29c]
dec eax
mov dword [ebp - 0x178], eax
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0x178]
mov dword [ebp + eax - 0x29c], ecx
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x178]
jle 0x100404ff
cmp dword [ebp - 0x7c], 1
jle 0x1004049f
mov dword [ebp - 0x180], 1
jmp 0x100404a6
and dword [ebp - 0x180], 0
mov eax, dword [ebp - 0x74]
add eax, dword [ebp - 0x180]
cmp eax, 0xfffffffa
jg 0x100404c0
mov dword [ebp - 0x188], 1
jmp 0x100404c7
and dword [ebp - 0x188], 0
cmp dword [ebp - 0x188], 0
jl 0x100404d9
mov eax, 0xfff6
test eax, eax
jne 0x100404dd
cmp dword [ebp - 0x74], 0
push 8
pop eax
test eax, eax
je 0x100404ff
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x29c], 0
je 0x100404ff
mov dword [ebp - 0x190], 1
jmp 0x10040506
and dword [ebp - 0x190], 0
cmp dword [ebp - 0x190], 0xfffffff6
jge 0x1004051b
mov dword [ebp - 0x198], 1
jmp 0x10040522
and dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x198]
jl 0x10040540
push 0xfffffffffffffff8
pop eax
test eax, eax
je 0x10040540
mov dword [ebp - 0x1a0], 1
jmp 0x10040547
and dword [ebp - 0x1a0], 0
push 2
lea ecx, [ebp - 0x240]
call fcn.10021a50
mov ecx, dword [ebp - 0x1a0]
cmp ecx, dword [eax]
jg 0x1004056a
mov dword [ebp - 0xe4], 1
jmp 0x10040571
and dword [ebp - 0xe4], 0
mov eax, dword [ebp - 0x7c]
cmp dword [ebp - 0xe4], eax
jle 0x10040588
mov dword [ebp - 0xec], 1
jmp 0x1004058f
and dword [ebp - 0xec], 0
mov eax, dword [ebp - 0xec]
inc eax
mov dword [ebp - 0xf4], eax
push 0
lea ecx, [ebp - 0x240]
call fcn.10021a50
mov ecx, dword [ebp - 0xf4]
mov dword [eax], ecx
imul eax, dword [ebp - 0xf4], 0x2e52
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xfc]
imul eax, dword [ebp - 0x7c]
mov dword [ebp - 0x7c], eax
push 4
pop eax
shl eax, 1
mov esi, dword [ebp + eax - 0x29c]
push 1
lea ecx, [ebp - 0x240]
call fcn.10021a50
mov dword [eax], esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x240]
call fcn.10021a34
mov eax, dword [ebp - 0xc8]
mov dword [0x1007588c], eax
push 4
pop eax
imul eax, eax, 0
push 4
pop ecx
imul ecx, ecx, 0
mov edx, dword [ebp - 0xc8]
mov edx, dword [edx + eax]
mov eax, dword [ebp - 0x104]
mov ecx, dword [eax + ecx]
call fcn.1003f19e
mov dword [ebp - 0x208], eax
push dword [ebp - 0xc8]
mov edx, 0x10075834
mov ecx, dword [ebp - 0x208]
call fcn.1003f1aa
pop ecx
mov dword [ebp - 0x84], 0x50bf34fd
mov dword [ebp - 0xd0], 0x1e948708
mov dword [ebp - 0x58], 0xfffffff7
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x12c], 0xffffffff
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 0x8c], 7
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0x84]
jg 0x100406a2
mov dword [ebp - 0x10c], 1
jmp 0x100406a9
and dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp - 0x10c]
jge 0x100406c9
cmp dword [ebp - 0x8c], 0
jne 0x100406c9
and dword [ebp - 0x114], 0
jmp 0x100406d3
mov dword [ebp - 0x114], 1
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x114]
jg 0x100406f3
mov dword [ebp - 0x11c], 1
jmp 0x100406fa
and dword [ebp - 0x11c], 0
mov eax, dword [ebp - 0x84]
sub eax, dword [ebp - 0x11c]
cmp eax, dword [ebp - 0xd0]
jge 0x1004071a
mov dword [ebp - 0x124], 1
jmp 0x10040721
and dword [ebp - 0x124], 0
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x58], 0
jmp 0x1004073d
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0xd
jl 0x100407bd
mov dword [ebp - 0x64], 0x3191
cmp dword [ebp - 0x64], 0
je 0x10040762
cmp dword [ebp - 0x64], 0
je 0x10040762
mov dword [ebp - 0x20c], 1
jmp 0x10040769
and dword [ebp - 0x20c], 0
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0x84]
je 0x10040783
cmp dword [ebp - 0x64], 0
jne 0x10040783
and dword [ebp - 0x214], 0
jmp 0x1004078d
mov dword [ebp - 0x214], 1
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x12c], eax
mov byte [ebp - 0x42], 0
movzx eax, byte [ebp - 0x42]
test eax, eax
je 0x100407b8
push 0
push 0
call dword [sym.imp.GDI32.dll_CopyEnhMetaFileA]
jmp 0x10040736
mov esi, 0x10075888
mov edi, dword [ebp + 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret