Function at 0x1003c0d8
Capabilities:
Check for time delay via gettickcount
Check os version
Create directory
Create process on windows
Enumerate gui resources
Get file size
Get keyboard layout

Disassembly:
mov eax, 0x1006907b
call fcn.100678b8
sub esp, 0xa34
push ebx
push esi
xor eax, eax
mov dword [ebp - 0x58], ecx
push edi
inc eax
mov byte [ebp - 0x69], dl
push eax
lea ecx, [ebp - 0x32c]
call fcn.1002a48a
mov edi, 0xd0a7084b
xor ebx, ebx
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x18], 0xffff
mov dword [ebp - 0x14], ebx
jmp 0x1003c127
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7d8], 0x3342eb9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1003c116
xor edx, edx
mov dword [ebp - 0x14], ebx
inc edx
jmp 0x1003c148
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x32c]
mov dword [eax + ecx*4], 0x2cb13638
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1003c135
mov eax, dword [ebp - 0x32c]
mov dword [eax], ebx
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], bl
je 0x1003c167
push ebx
call dword [sym.imp.USER32.dll_RegisterClassA]
xor edx, edx
inc edx
mov eax, dword [ebp - 0x32c]
inc dword [eax]
cmp dword [eax], edx
jle 0x1003c155
mov dword [ebp - 0x18], ebx
jmp 0x1003c18f
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], bl
je 0x1003c18c
push ebx
push 0x1a86
call dword [sym.imp.USER32.dll_GetWindowPlacement]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x3a
jg 0x1003c178
lea ecx, [ebp - 0x32c]
call fcn.1002a875
push 1
lea ecx, [ebp - 0x1c0]
call fcn.1002a48a
mov dword [ebp - 0x18], 0xfffffff7
xor edx, edx
mov dword [ebp - 0x24], 0x5b263d18
inc edx
mov dword [ebp - 0x1c], 0x7c39c9d9
mov dword [ebp - 0x28], 0x90c63b88
mov dword [ebp - 0x18], ebx
jmp 0x1003c1e4
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c0]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1003c1d1
mov eax, dword [ebp - 0x1c0]
xor ecx, ecx
mov edx, dword [eax]
test edx, edx
setne cl
xor eax, eax
cmp edx, ecx
setle al
xor edx, edx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c0]
mov eax, dword [ecx]
imul eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [ecx]
mov dword [ebp - 0x18], eax
mov eax, dword [ecx]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setne dl
sub eax, edx
cmp eax, 0x32d683a7
jg 0x1003c245
mov eax, dword [ebp - 0x1c0]
cmp dword [eax], ebx
je 0x1003c245
xor eax, eax
inc eax
jmp 0x1003c247
mov eax, ebx
xor ecx, ecx
cmp eax, 0x123d
mov eax, dword [ebp - 0x1c]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c0]
setl dl
add edx, dword [eax]
cmp edx, dword [ebp - 0x1c]
jl 0x1003c272
cmp dword [ebp - 0x24], ebx
je 0x1003c272
xor esi, esi
inc esi
jmp 0x1003c274
mov esi, ebx
mov eax, dword [ebp - 0x1c0]
xor ecx, ecx
mov edx, dword [eax]
mov eax, dword [ebp - 0x1c]
cmp esi, eax
sete cl
sub ecx, edx
sub ecx, edx
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
lea ecx, [ebp - 0x1c0]
setl al
mov dword [ebp - 0x28], eax
call fcn.1002a875
push 2
pop esi
mov dword [ebp - 0x1c], esi
xor edx, edx
mov dword [ebp - 0x34], 0xaa13
inc edx
mov dword [ebp - 0x14], ebx
jmp 0x1003c2ca
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x9c], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1003c2b9
mov dword [ebp - 0x14], ebx
jmp 0x1003c2e5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe0], 0xbaeef20f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1003c2d4
mov dword [ebp - 0xd8], ebx
cmp dword [ebp - 0xd8], ebx
jl 0x1003c4d8
mov dword [ebp - 0x14], 0xfffffff9
mov dword [ebp - 0x38], 0x53b3045e
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x1003c342
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], bl
je 0x1003c326
push 0x1752
call dword [sym.imp.USER32.dll_GetKeyboardType]
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], bl
je 0x1003c33a
push ebx
push 0x120
call dword [sym.imp.USER32.dll_RemovePropA]
dec dword [ebp - 0x14]
jns 0x1003c313
xor edx, edx
inc edx
mov eax, dword [ebp - 0xd8]
cmp dword [ebp + eax*4 - 0x9c], ebx
je 0x1003c3db
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x38], 0x877e0698
imul eax, dword [ebp - 0x18], 0xfffffffb
test eax, eax
je 0x1003c3a7
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
xor eax, eax
cmp ecx, 0xfffffff8
setge al
cmp eax, dword [ebp - 0x14]
jl 0x1003c39e
mov eax, ebx
cmp dword [ebp - 0x14], ebx
je 0x1003c3a0
mov eax, edx
mov ecx, edx
cmp eax, dword [ebp - 0x38]
jg 0x1003c3a9
mov ecx, ebx
mov eax, dword [ebp - 0x9c]
sub ecx, eax
mov dword [ebp - 0x1c], ecx
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], bl
je 0x1003c4cc
push 0x23b
push ebx
push 0x3f7
push 0x18a5
call dword [sym.imp.USER32.dll_GetDlgItemTextA]
jmp 0x1003c4c9
mov dword [ebp - 0x20], 0x36c1
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x1003c4bb
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x38], 0x2b873148
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x1c], ebx
je 0x1003c4ad
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xd8]
cmp dword [ebp + eax*4 - 0x9c], ebx
jne 0x1003c420
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xd8]
mov edx, dword [ebp + eax*4 - 0x9c]
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x1c]
cmp eax, edx
setg cl
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x38]
sub ecx, eax
je 0x1003c459
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0xd8]
mov eax, dword [ebp + eax*4 - 0x9c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
xor edx, edx
inc edx
mov eax, edx
cmp ecx, 0xfffffffd
jne 0x1003c4af
mov eax, ebx
mov dword [ebp - 0x28], eax
dec dword [ebp - 0x1c]
jns 0x1003c3ee
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], bl
je 0x1003c4cc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
inc edx
dec dword [ebp - 0xd8]
jns 0x1003c2fd
push edx
lea ecx, [ebp - 0x2cc]
call fcn.1002a48a
push 3
lea ecx, [ebp - 0x158]
mov dword [ebp - 4], ebx
call fcn.1002a48a
xor eax, eax
inc eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x18], ebx
jmp 0x1003c518
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x158]
mov dword [eax + ecx*4], 0xff0ea75c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1003c505
mov dword [ebp - 0x14], ebx
push 0xffffffffffffffff
pop eax
cmp dword [ebp - 0x14], esi
jg 0x1003c67a
jmp 0x1003c532
or eax, 0xffffffff
mov dword [ebp - 0x20], eax
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], 0
je 0x1003c54a
push ebx
push 0x162c
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], 1
cmp dword [ebp - 0x20], ebx
je 0x1003c565
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x20]
imul eax, dword [ecx + edx*4]
test eax, eax
jne 0x1003c63c
or eax, 0xffffffff
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x38], 0xb3395cc9
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], ebx
jl 0x1003c5b7
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x158]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x158]
cmp dword [edx + eax*4], ebx
jne 0x1003c5bd
dec dword [ebp - 0x20]
jns 0x1003c592
mov edx, dword [ebp - 0x158]
mov eax, dword [edx + 8]
xor ecx, ecx
sub eax, 0xf045
cmp eax, 0x5653
mov eax, dword [ebp - 0x20]
setl cl
imul eax, ecx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
sub eax, dword [edx + 8]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
imul eax, eax, 0xf8ef
cmp ecx, eax
mov eax, dword [ebp - 0x18]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x158]
setne dl
sub edx, dword [eax + esi*4]
jne 0x1003c614
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
xor edx, edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
push 2
setg dl
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x158]
neg edx
pop esi
sbb edx, edx
inc edx
sub edx, dword [eax]
mov dword [ebp - 0x3c], edx
jmp 0x1003c66e
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], 0
je 0x1003c64d
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], ebx
jl 0x1003c66e
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], 0
je 0x1003c669
push 0x1688
call dword [sym.imp.GDI32.dll_DeleteDC]
dec dword [ebp - 0x20]
jns 0x1003c655
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x1003c52f
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x14], eax
call fcn.1002a875
mov dword [ebp - 0x44], edi
lea ecx, [ebp - 0x3d4]
mov dword [ebp - 0x18], 0xc68ec0ae
push esi
call fcn.1002a48a
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x18], ebx
jmp 0x1003c6b8
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3d4]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1003c6a9
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], 0
je 0x1003c6d9
push ebx
push 0x70
push 0x2457
push 0x268c
call dword [sym.imp.GDI32.dll_SetDIBColorTable]
mov dword [ebp - 0x18], ebx
jmp 0x1003c75b
mov dword [ebp - 0x1c], 0x6ce4a6f4
mov dword [ebp - 0x38], 0x73d5943e
mov dword [ebp - 0x34], 0x4f06702e
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jne 0x1003c713
cmp dword [ebp - 0x38], ebx
jne 0x1003c713
mov ecx, ebx
jmp 0x1003c716
xor ecx, ecx
inc ecx
xor eax, eax
cmp ecx, 1
sete al
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setl dl
add edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1c]
neg edx
sbb edx, edx
inc edx
cmp edx, dword [ebp - 0x1c]
jne 0x1003c753
mov eax, dword [ebp - 0x3d4]
cmp dword [eax], ebx
je 0x1003c753
xor eax, eax
inc eax
jmp 0x1003c755
mov eax, ebx
mov dword [ebp - 0x28], eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe9
jge 0x1003c6de
lea ecx, [ebp - 0x3d4]
call fcn.1002a875
mov dword [ebp - 0x24], 0xffff
lea ecx, [ebp - 0x4b8]
mov dword [ebp - 0x18], 0x5c68ec0a
push 3
call fcn.1002a48a
xor edx, edx
inc edx
mov byte [ebp - 4], dl
mov dword [ebp - 0x18], ebx
jmp 0x1003c7a5
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4b8]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1003c796
mov dword [ebp - 0x18], ebx
jmp 0x1003c861
push 3
lea ecx, [ebp - 0x2c0]
call fcn.1002a48a
mov byte [ebp - 4], 2
or eax, 0xffffffff
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], ebx
jmp 0x1003c7e2
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c0]
mov dword [eax + ecx*4], 0x51ad386c
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x1003c7cf
mov dword [ebp - 0x1c], ebx
jmp 0x1003c844
push 2
lea ecx, [ebp - 0x3ec]
call fcn.1002a48a
mov dword [ebp - 0x24], ebx
jmp 0x1003c812
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3ec]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x1003c7ff
mov ecx, dword [ebp - 0x3ec]
mov edx, dword [ebp - 0x2c0]
mov dword [ecx], ebx
mov eax, dword [ecx]
mov dword [edx + eax*4], 0x6c74aa0d
inc dword [ecx]
cmp dword [ecx], 3
jl 0x1003c826
lea ecx, [ebp - 0x3ec]
call fcn.1002a875
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jle 0x1003c7ed
lea ecx, [ebp - 0x2c0]
cmp dword [ebp - 0x18], ebx
jne 0x1003c86d
mov byte [ebp - 4], 1
call fcn.1002a875
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x1003c7b3
jmp 0x1003c872
call fcn.1002a875
mov eax, dword [ebp - 0x4b8]
lea ecx, [ebp - 0x4b8]
mov byte [ebp - 4], bl
mov dword [eax], 0xa5166941
call fcn.1002a875
mov dword [ebp - 0x14], ebx
jmp 0x1003c8a2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7e8], 0x3342eb9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1003c891
xor edx, edx
mov dword [ebp - 0x14], ebx
inc edx
jmp 0x1003c8c3
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2cc]
mov dword [eax + ecx*4], 0x2cb13638
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1003c8b0
mov eax, dword [ebp - 0x2cc]
lea esi, [ebp - 0x500]
lea edi, [ebp - 0x4f0]
mov dword [eax], ebx
mov dword [ebp - 0x44], 0xfffffffc
lea ecx, [ebp - 0x680]
or eax, 0xffffffff
mov dword [ebp - 0x44], 0xe125d16d
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], 0x8711
push 2
call fcn.1002a48a
mov byte [ebp - 4], 3
mov dword [ebp - 0x44], 0xcbe92e3f
mov dword [ebp - 0x28], 0x245b
cmp dword [ebp - 0x28], 0x745
jge 0x1003ca50
lea eax, [ebp - 0xb4]
mov dword [ebp - 0xa4], ebx
push eax
lea eax, [ebp - 0xc4]
mov dword [ebp - 0xc4], ebx
push eax
lea eax, [ebp - 0xa4]
mov dword [ebp - 0xb4], ebx
push eax
push 0x10007f10
call fcn.1004f52b
mov esi, dword [ebp - 0xb4]
xor ecx, ecx
imul esi, dword [ebp - 0xc4]
push 4
pop edx
imul esi, dword [ebp - 0xa4]
lea eax, [esi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10049219
mov ebx, eax
add esp, 0x14
mov dword [ebp - 0x3c], ebx
mov dword [ebx + 4], 1
cmp esi, 2
jl 0x1003c99e
push 2
lea ecx, [esi - 1]
pop eax
lea edi, [ebx + 8]
rep stosd dword es:[edi], eax
mov eax, esi
cdq
sub eax, edx
push 2
pop edi
sar eax, 1
cmp eax, edi
jl 0x1003c9bf
lea ecx, [edi + edi]
jmp 0x1003c9b6
inc dword [ebx + ecx*4]
add ecx, edi
cmp ecx, esi
jle 0x1003c9b1
inc edi
cmp edi, eax
jle 0x1003c9ac
xor ecx, ecx
xor eax, eax
inc ecx
mov dword [ebp - 0x2c], eax
mov esi, ecx
cmp dword [ebp - 0xa4], ecx
jl 0x1003ca35
cmp dword [ebp - 0xc4], ecx
jl 0x1003ca29
mov edx, dword [ebp - 0xc4]
mov eax, esi
shl eax, 2
mov ecx, eax
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0xb4], 1
jl 0x1003ca1e
lea edi, [ecx + ebx]
mov ebx, dword [ebp - 0xb4]
mov eax, dword [edi]
add edi, ecx
add eax, dword [ebp - 0x2c]
cdq
mov dword [ebp - 0x28], 0x61
idiv dword [ebp - 0x28]
mov dword [ebp - 0x2c], edx
dec ebx
jne 0x1003c9fb
mov ebx, dword [ebp - 0x3c]
mov eax, esi
mov edx, dword [ebp - 0x38]
shl eax, 2
add ecx, eax
dec edx
mov dword [ebp - 0x38], edx
jne 0x1003c9e9
xor ecx, ecx
inc ecx
inc esi
cmp esi, dword [ebp - 0xa4]
jle 0x1003c9d1
mov eax, dword [ebp - 0x2c]
push eax
push 0x10007ee4
call fcn.1004fe4e
pop ecx
pop ecx
xor ebx, ebx
lea esi, [ebp - 0x500]
lea edi, [ebp - 0x4f0]
push 4
pop eax
push 2
mov dword [ebp - 0x44], eax
xor ecx, ecx
pop edx
mov dword [ebp - 0x38], edx
inc ecx
mov dword [ebp - 0x34], 0xb0d6b1f8
mov dword [ebp - 0x14], ebx
jmp 0x1003ca7c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x614], 0x37b1891f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1003ca6b
mov dword [ebp - 0x14], ebx
jmp 0x1003ca99
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x680]
mov dword [eax + ecx*4], 0x2d34caa8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1003ca86
dec dword [ebp - 0x38]
lea ecx, [ebp - 0x680]
dec dword [ebp - 0x34]
mov byte [ebp - 4], bl
call fcn.1002a875
push 3
lea ecx, [ebp - 0x580]
call fcn.1002a48a
push 4
pop eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x53c]
mov dword [ebp - 0x24], ebx
or eax, 0xffffffff
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], 0xb143e95a
mov dword [ebp - 0x44], 0xfffffffc
mov dword [ebp - 0x44], 0x73948b08
mov dword [ebp - 0x44], 0x1ba028e
mov dword [ebp - 0x44], 0x15fdc8df
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], 1
push 3
call fcn.1002a48a
mov dword [ebp - 0x44], 1
push 3
mov dword [ebp - 0x38], 0xfffffffc
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x1003cb31
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x580]
mov dword [eax + ecx*4], 0xc204
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1003cb1e
mov dword [ebp - 0x14], ebx
jmp 0x1003cb4a
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x53c]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1003cb3b
mov dword [ebp - 0x24], 2
cmp dword [ebp - 0x24], ebx
jl 0x1003cb8c
mov dword [ebp - 0x18], 0xf390197f
mov dword [ebp - 0x18], ebx
jmp 0x1003cb81
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], 0
je 0x1003cb7e
push ebx
push ebx
push 0x1990
push ebx
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x1003cb67
dec dword [ebp - 0x24]
jns 0x1003cb5b
dec dword [ebp - 0x38]
lea ecx, [ebp - 0x53c]
call fcn.1002a875
lea ecx, [ebp - 0x580]
mov byte [ebp - 4], bl
call fcn.1002a875
movdqa xmm0, xmmword [0x10008690]
push ecx
push edi
mov byte [ebp - 0xd], bl
lea ecx, [ebp - 0x758]
push esi
movdqu xmmword [ebp - 0x500], xmm0
call fcn.1002a53d
mov dword [ebp - 0x18], 0xd4081c29
mov dword [ebp - 0x18], ebx
jmp 0x1003cbea
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], 0
je 0x1003cbe7
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_EnumResourceTypesW]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x1003cbd5
lea ecx, [ebp - 0x758]
call fcn.1002a875
cmp byte [ebp - 0xd], 0
je 0x1003cc6c
push 4
mov dword [ebp - 0x18], 0x2ba39464
mov dword [ebp - 0x18], ebx
pop ecx
jmp 0x1003cc21
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x870], 0x10c9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003cc10
mov dword [ebp - 0x18], ebx
jmp 0x1003cc5f
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003cc48
push 0x1667
push ebx
push ebx
push ebx
push 0xe93
push ebx
call dword [sym.imp.KERNEL32.dll_GetDateFormatW]
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003cc5c
push 0x13eb
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x1003cc2b
push ebx
call dword [sym.imp.USER32.dll_RegisterClassA]
mov eax, dword [ebp - 0x2cc]
inc dword [eax]
cmp dword [eax], 1
jle 0x1003c8dc
push 2
lea ecx, [ebp - 0xec]
call fcn.1002a48a
push 5
pop eax
mov byte [ebp - 4], al
xor edx, edx
mov dword [ebp - 0x20], 0xa66fe7d8
inc edx
mov dword [ebp - 0x14], 0xc2132456
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], 0xe70d28e4
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 2
jge 0x1003cccc
or esi, 0xffffffff
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xec]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1003ccb7
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], edx
jg 0x1003cf2a
push 2
lea ecx, [ebp - 0x268]
call fcn.1002a48a
mov byte [ebp - 4], 6
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x1c], ebx
jmp 0x1003cd08
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x268]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003ccf5
mov dword [ebp - 0x1c], ebx
jmp 0x1003cd24
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x794], 0xffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1003cd13
mov edi, dword [ebp - 0x20]
xor edx, edx
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xec]
sub eax, 0x414696ea
cmp dword [ecx + esi*4], eax
mov eax, dword [ebp - 0xec]
mov esi, dword [ebp - 0x20]
sete dl
imul edx, dword [eax + edi*4]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xec]
imul edi, edx, 0x357
neg edi
sbb edi, edi
xor edx, edx
neg edi
cmp dword [ecx + eax*4], edi
setne dl
xor eax, eax
cmp dword [ecx + esi*4], edx
setge al
cmp eax, dword [ebp - 0x20]
jne 0x1003cdef
mov dword [ebp - 0x38], 0xffffffff
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xec]
mov dword [eax + ecx*4], 0x2314af1
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x268]
mov eax, dword [eax]
neg eax
cmp eax, 0x9919
setge cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x20]
jg 0x1003cdcc
mov eax, dword [ebp - 0x268]
cmp dword [eax + 4], ebx
je 0x1003cdcc
xor edx, edx
inc edx
jmp 0x1003cdce
mov edx, ebx
mov ecx, dword [ebp - 0x20]
mov esi, 0x4448110c
mov eax, dword [ebp - 0xec]
mov dword [eax + ecx*4], esi
xor eax, eax
cmp edx, esi
sete al
inc eax
mov dword [ebp - 0x2c], eax
jmp 0x1003cefa
xor eax, eax
lea ecx, [ebp - 0x404]
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x24], 0x79364560
push eax
call fcn.1002a48a
xor edx, edx
mov dword [ebp - 0x18], ebx
inc edx
jmp 0x1003ce23
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x404]
mov dword [eax + ecx*4], 0xa58de38
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1003ce10
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], edx
jg 0x1003ceef
mov edi, dword [ebp - 0xec]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x268]
mov edx, dword [eax]
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + ecx*4]
add eax, edx
add eax, dword [edi + 4]
je 0x1003ce5c
test edx, edx
jne 0x1003ce5f
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x24]
inc ecx
imul eax, ecx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
je 0x1003cea2
cmp dword [ebp - 0x14], ebx
je 0x1003cea2
xor esi, esi
inc esi
jmp 0x1003cea4
mov esi, ebx
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0xec]
cmp esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xec]
setg dl
mov dword [eax + ecx*4], edx
test edx, edx
jne 0x1003cec8
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x790]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x404]
mov dword [eax], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jle 0x1003ce3a
lea ecx, [ebp - 0x404]
call fcn.1002a875
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003cf0e
push 0x2646
call dword [sym.imp.USER32.dll_MessageBeep]
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 5
call fcn.1002a875
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 1
jle 0x1003ccd8
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], bl
call fcn.1002a875
push 0x3a
mov dword [ebp - 0x24], ebx
pop edi
cmp dword [ebp - 0x24], edi
jle 0x1003d1d5
mov esi, 0xaf43
mov dword [ebp - 0x50], esi
lea ecx, [ebp - 0x65c]
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x18], 0x97eede0b
mov dword [ebp - 0x28], 0xd3c891c5
push 3
call fcn.1002a48a
push 3
mov dword [ebp - 0x18], ebx
pop edx
jmp 0x1003cf8e
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x65c]
mov dword [eax + ecx*4], 0xa6e6f7fb
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1003cf7b
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], ebx
jl 0x1003cfa5
cmp dword [ebp - 0x28], ebx
jne 0x1003cfa5
dec dword [ebp - 0x18]
jns 0x1003cf9b
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003cfb4
call dword [sym.imp.USER32.dll_GetMessageTime]
lea ecx, [ebp - 0x65c]
call fcn.1002a875
mov byte [ebp - 0xd], bl
mov dword [ebp - 0x28], 0xf8ee1d11
mov dword [ebp - 0x38], 0x7c7be02
mov dword [ebp - 0x38], 0x2c60edac
push 4
pop eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x54], 9
mov dword [ebp - 0x3c], 0xfffffffe
mov dword [ebp - 0x44], 3
mov dword [ebp - 0x14], 7
push 2
pop ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x3c], 0xdd664087
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x34], 0xf199
mov dword [ebp - 0x1c], 0x5d7c1543
mov dword [ebp - 0x18], ebx
jmp 0x1003d02d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1a0], 0xa35f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003d01c
mov eax, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x38]
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x1a0]
cmp ecx, eax
mov eax, dword [ebp - 0x1a0]
setg dl
inc eax
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
cmp byte [ebp - 0xd], 0
je 0x1003d1c9
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 0x14], 0xfffffffc
mov dword [ebp - 0x1c], 0xfffffff7
push 4
mov dword [ebp - 0x38], 0xcc74bf7a
mov dword [ebp - 0x18], ebx
pop ecx
jmp 0x1003d0c8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x6ec], 0x1bab0c3e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003d0b7
mov dword [ebp - 0x20], 0x25d16df2
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
imul eax, dword [ebp - 0x14], 0xfffa
cmp eax, 0xdfe4
jge 0x1003d0f0
cmp dword [ebp - 0x14], ebx
jne 0x1003d0f0
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xfffffff9
je 0x1003d132
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003d113
push ebx
push ebx
push 0x1ffb
push ebx
call dword [sym.imp.USER32.dll_GetMenuItemInfoW]
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003d157
push 0xf0e
push ebx
push ebx
push ebx
push ebx
push 0x2686
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
jmp 0x1003d157
mov dword [ebp - 0x18], 0xbc999589
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x18], ebx
jne 0x1003d144
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 0x14]
mov ecx, 0xb78c6aee
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x6e8], eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
push ebx
sbb eax, eax
xor ecx, ecx
neg eax
sub eax, dword [ebp - 0x14]
cmp eax, 0xd992
push 0x1a86
setge cl
xor eax, eax
imul ecx, dword [ebp - 0x20]
cmp ecx, 0xfffffff6
setge al
mov dword [ebp - 0x1c], eax
call dword [sym.imp.USER32.dll_GetWindowPlacement]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jg 0x1003cf4c
or eax, 0xffffffff
lea ecx, [ebp - 0x2cc]
mov dword [ebp - 4], eax
call fcn.1002a875
push 1
lea ecx, [ebp - 0x2fc]
call fcn.1002a48a
mov dword [ebp - 0x44], 0xd0a7084b
push 2
mov dword [ebp - 0x18], 0xffff
mov dword [ebp - 0x1c], ebx
pop esi
jmp 0x1003d21a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x7f0], 0x3342eb9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1003d209
xor edx, edx
mov dword [ebp - 0x1c], ebx
inc edx
jmp 0x1003d23a
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2fc]
mov dword [eax + ecx*4], 0x2cb13638
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1003d227
mov eax, dword [ebp - 0x2fc]
mov dword [eax], ebx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003d25a
push ebx
call dword [sym.imp.USER32.dll_RegisterClassA]
xor edx, edx
inc edx
mov eax, dword [ebp - 0x2fc]
inc dword [eax]
cmp dword [eax], edx
jle 0x1003d247
mov dword [ebp - 0x18], ebx
jmp 0x1003d283
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003d280
push ebx
push 0x1a86
call dword [sym.imp.USER32.dll_GetWindowPlacement]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jg 0x1003d26b
lea ecx, [ebp - 0x2fc]
call fcn.1002a875
mov dword [ebp - 0x14], 0xde713a47
lea ecx, [ebp - 0x598]
or edi, 0xffffffff
mov dword [ebp - 0x18], 0x3244d513
mov dword [ebp - 0x38], edi
push 1
call fcn.1002a48a
xor edx, edx
mov dword [ebp - 0x1c], ebx
inc edx
jmp 0x1003d2cd
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x90], 0xb6069300
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1003d2bc
mov dword [ebp - 0x1c], ebx
jmp 0x1003d2ea
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x598]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1003d2d7
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003d309
push ebx
push 0x1e82
push 0xd3a
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setge dl
xor ecx, ecx
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0x14]
cmp eax, edx
setg cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x18], ebx
je 0x1003d41a
xor edx, edx
inc edx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x90]
dec eax
imul ecx, eax
mov dword [ebp - 0x90], ecx
test ecx, ecx
je 0x1003d387
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x90], ebx
ja 0x1003d373
cmp dword [ebp - 0x24], ebx
jne 0x1003d373
mov edx, ebx
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
inc edx
cmp ecx, dword [ebp - 0x24]
mov ecx, edx
jg 0x1003d389
mov ecx, ebx
xor eax, eax
cmp ecx, 0x2aba
setg al
cmp eax, dword [ebp - 0x14]
je 0x1003d3a0
mov eax, ebx
cmp dword [ebp - 0x24], ebx
je 0x1003d3a2
mov eax, edx
mov dword [ebp - 0x18], eax
mov byte [ebp - 0xd], bl
mov dword [ebp - 0x28], 0x2612
cmp dword [ebp - 0x28], 0x134e
jge 0x1003d40b
lea eax, [ebp - 0x2a8]
push eax
lea eax, [ebp - 0x2a0]
push eax
push 0x10007edc
call fcn.1004f52b
mov eax, dword [ebp - 0x2a8]
add esp, 0xc
mov ebx, dword [ebp - 0x2a0]
mov edi, ebx
sub edi, eax
lea ecx, [eax + eax]
lea esi, [ebx + 1]
lea edx, [eax - 1]
cmp ecx, esi
cmovle edi, edx
imul eax, ebx, 3
add eax, edi
push eax
push 0x10007ee4
call fcn.1004fe4e
pop ecx
pop ecx
push 2
xor ebx, ebx
or edi, 0xffffffff
pop esi
cmp byte [ebp - 0xd], 0
je 0x1003d44d
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x1003d44d
mov dword [ebp - 0x28], 0xfff7
mov dword [ebp - 0x3c], 1
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
neg edx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, 0x6ff52912
setge cl
sub edx, ecx
mov dword [ebp - 0x90], edx
lea ecx, [ebp - 0x598]
call fcn.1002a875
mov dword [ebp - 0x14], 0xde713a47
lea ecx, [ebp - 0x6cc]
mov dword [ebp - 0x18], 0x3244d513
mov dword [ebp - 0x38], edi
push 1
call fcn.1002a48a
xor edx, edx
mov dword [ebp - 0x1c], ebx
inc edx
jmp 0x1003d48f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x8c], 0xb6069300
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1003d47e
mov dword [ebp - 0x1c], ebx
jmp 0x1003d4ac
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x6cc]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1003d499
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003d4cb
push ebx
push 0x1e82
push 0xd3a
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setge dl
xor ecx, ecx
mov dword [ebp - 0x8c], edx
mov eax, dword [ebp - 0x14]
cmp eax, edx
setg cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x18], ebx
je 0x1003d575
xor edx, edx
inc edx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
dec eax
imul ecx, eax
mov dword [ebp - 0x8c], ecx
test ecx, ecx
je 0x1003d545
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x8c], ebx
ja 0x1003d531
cmp dword [ebp - 0x24], ebx
jne 0x1003d531
mov edx, ebx
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
inc edx
cmp ecx, dword [ebp - 0x24]
mov ecx, edx
jg 0x1003d547
mov ecx, ebx
xor eax, eax
cmp ecx, 0x2aba
setg al
cmp eax, dword [ebp - 0x14]
je 0x1003d55e
mov eax, ebx
cmp dword [ebp - 0x24], ebx
je 0x1003d560
mov eax, edx
mov dword [ebp - 0x18], eax
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003d5a8
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x1003d5a8
mov dword [ebp - 0x28], 0xfff7
mov dword [ebp - 0x3c], 1
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
neg edx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, 0x6ff52912
setge cl
sub edx, ecx
mov dword [ebp - 0x8c], edx
lea ecx, [ebp - 0x6cc]
call fcn.1002a875
mov dword [ebp - 0x1c], 0x1c08901
push 0xfffffffffffffff6
pop eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], 0xfffffffb
mov dword [ebp - 0x44], edi
push 4
pop eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x38], ebx
inc dword [ebp - 0x1c]
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 3
jg 0x1003d62b
xor ecx, ecx
inc ecx
mov dword [ebp - 0x44], 0x37b04800
mov dword [ebp - 0x18], ebx
jmp 0x1003d608
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x624], 0xdfe0091d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003d5f7
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003d61f
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
xor ecx, ecx
inc ecx
dec dword [ebp - 0x38]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jle 0x1003d5eb
mov dword [ebp - 0x24], 0xde713a47
lea ecx, [ebp - 0x164]
push 3
call fcn.1002a48a
mov dword [ebp - 4], 0xb
xor eax, eax
inc eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x18], ebx
jmp 0x1003d66a
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x164]
mov dword [eax + ecx*4], 0xff0ea75c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1003d657
mov dword [ebp - 0x14], ebx
jmp 0x1003d7b4
mov dword [ebp - 0x20], edi
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003d690
push ebx
push 0x162c
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], 1
cmp dword [ebp - 0x20], ebx
je 0x1003d6ab
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x164]
mov eax, dword [ebp - 0x20]
imul eax, dword [ecx + edx*4]
test eax, eax
jne 0x1003d77f
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x38], 0xb3395cc9
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], ebx
jl 0x1003d6fa
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x164]
cmp dword [edx + eax*4], ebx
jne 0x1003d700
dec dword [ebp - 0x20]
jns 0x1003d6d5
mov edx, dword [ebp - 0x164]
mov eax, dword [edx + 8]
xor ecx, ecx
sub eax, 0xf045
cmp eax, 0x5653
mov eax, dword [ebp - 0x20]
setl cl
imul eax, ecx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
sub eax, dword [edx + 8]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
imul eax, eax, 0xf8ef
cmp ecx, eax
mov eax, dword [ebp - 0x18]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x164]
setne dl
sub edx, dword [eax + esi*4]
jne 0x1003d757
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
xor edx, edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
push 2
setg dl
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x164]
neg edx
pop esi
sbb edx, edx
inc edx
sub edx, dword [eax]
mov dword [ebp - 0x3c], edx
jmp 0x1003d7b1
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003d790
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], ebx
jl 0x1003d7b1
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003d7ac
push 0x1688
call dword [sym.imp.GDI32.dll_DeleteDC]
dec dword [ebp - 0x20]
jns 0x1003d798
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x1003d678
mov dword [ebp - 0x28], 0x19e0
cmp dword [ebp - 0x28], 0x1228
jge 0x1003d8a2
lea eax, [ebp - 0x228]
push eax
push ecx
lea eax, [ebp - 0x1b0]
mov ecx, 0x10659f38
push eax
call fcn.10029b55
pop ecx
mov ecx, eax
call fcn.10029b55
mov edi, dword [ebp - 0x1b0]
lea ecx, [ebp - 0x494]
push edi
call fcn.1002a48a
mov byte [ebp - 4], 0xc
mov esi, dword [ebp - 0x494]
test edi, edi
jle 0x1003d82f
mov ebx, esi
push ebx
mov ecx, 0x10659f38
call fcn.10029b55
push 4
pop eax
add ebx, eax
dec edi
jne 0x1003d814
mov edi, dword [ebp - 0x1b0]
xor ebx, ebx
push dword [ebp - 0x490]
push esi
call fcn.100370aa
pop ecx
pop ecx
mov ecx, dword [ebp - 0x228]
test ecx, ecx
jne 0x1003d867
mov eax, dword [esi]
mov ecx, 0x10659e90
cmp eax, 1
jle 0x1003d856
dec eax
jmp 0x1003d884
or edi, 0xffffffff
push edi
call fcn.1002a144
push eax
call fcn.1002f61d
jmp 0x1003d893
cmp ecx, edi
jne 0x1003d876
push dword [esi + edi*4 - 4]
mov ecx, 0x10659e90
jmp 0x1003d885
mov eax, dword [esi + ecx*4 - 4]
cmp eax, dword [esi + ecx*4]
mov ecx, 0x10659e90
je 0x1003d856
push eax
call fcn.1002a144
push eax
call fcn.1002f61d
or edi, 0xffffffff
pop ecx
lea ecx, [ebp - 0x494]
call fcn.1002a875
push 2
pop esi
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x164]
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], edi
call fcn.1002a875
mov dword [ebp - 0x14], 0xde713a47
lea ecx, [ebp - 0x5b0]
mov dword [ebp - 0x18], 0x3244d513
mov dword [ebp - 0x38], edi
push 1
call fcn.1002a48a
xor edx, edx
mov dword [ebp - 0x1c], ebx
inc edx
jmp 0x1003d8ed
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x88], 0xb6069300
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1003d8dc
mov dword [ebp - 0x1c], ebx
jmp 0x1003d90a
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5b0]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1003d8f7
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1003d929