Function at 0x1003d0b7
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10084822
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x268
mov eax, 0x2d5e48d3
mov dword [esp + 0xc4], edx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
push ebx
mov dword [esp + 0x9c], eax
xor ebx, ebx
mov dword [esp + 0xa0], eax
push esi
mov dword [esp + 0x28], 4
push edi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x20], ebx
jmp 0x1003d12a
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x190], 3
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 2
jl 0x1003d117
push 1
mov dword [esp + 0xac], ebx
pop esi
jmp 0x1003d1cf
mov dword [esp + 0x18], 0xf5f49900
mov dword [esp + 0x2c], 0xf9f7c8b1
mov eax, dword [esp + 0x18]
imul eax, dword [esp + 0x18]
test eax, eax
je 0x1003d1a1
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
je 0x1003d18e
mov ecx, dword [esp + 0x18]
xor edx, edx
sub ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov ecx, esi
setl dl
add edx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
neg edx
sbb edx, edx
neg edx
sub edx, eax
jne 0x1003d190
mov ecx, ebx
mov dword [esp + 0x190], ecx
mov edx, esi
mov eax, dword [esp + 0x18]
add eax, ecx
jne 0x1003d1a3
mov edx, ebx
mov eax, dword [esp + 0x18]
xor ecx, ecx
cmp edx, eax
sete cl
imul ecx, dword [esp + 0xa0]
add ecx, 0x2f3d4794
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
dec dword [esp + 0xa8]
cmp dword [esp + 0xa8], 0xfffffff4
jge 0x1003d140
mov dword [esp + 0x18], 0xfffffff8
mov dword [esp + 0x28], 0x6ec7e434
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x18]
jne 0x1003d29a
cmp dword [esp + 0x18], ebx
jne 0x1003d29a
mov dword [esp + 0x20], ebx
jmp 0x1003d21e
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x198], 0xf2579253
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 4
jl 0x1003d20b
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x198], ebx
jne 0x1003d250
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x19c]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x1a4]
mov eax, dword [esp + 0x18]
sub eax, 0x76f03ae0
sub eax, dword [esp + 0x18]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x28], 0x11
jmp 0x1003d291
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], bl
je 0x1003d287
push ebx
push 0x1caa
push ebx
call dword [sym.imp.OLEAUT32.dll_SafeArrayLock]
cmp dword [esp + 0x28], ebx
jne 0x1003d2ab
inc dword [esp + 0x28]
cmp dword [esp + 0x28], 0x18
jg 0x1003d270
jmp 0x1003d2ab
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], bl
je 0x1003d2ab
push ebx
call dword [sym.imp.COMDLG32.dll_FindTextW]
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], bl
je 0x1003d2c7
push 0x1dca
push ebx
push 0x2007
push ebx
call dword [sym.imp.USER32.dll_LoadStringA]
mov dword [esp + 0x28], 0x69fdf99f
lea ecx, [esp + 0x1a8]
push 2
call fcn.1000c0a5
mov dword [esp + 0x2c], 0xb7136239
mov dword [esp + 0x20], ebx
jmp 0x1003d2fe
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1a8]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 2
jl 0x1003d2eb
mov dword [esp + 0x28], 0xffffffe8
jmp 0x1003d3ac
mov dword [esp + 0x18], 0x696a485b
mov dword [esp + 0x2c], 0x78f1e0c8
mov dword [esp + 0x18], ebx
jmp 0x1003d344
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], bl
je 0x1003d340
push esi
push 0x236d
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SignalObjectAndWait]
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jle 0x1003d328
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setge dl
imul eax, dword [esp + 0x18], 0x3cc9
xor ecx, ecx
mov dword [esp + 0x38], edx
cmp eax, 4
mov eax, dword [esp + 0x18]
setl cl
xor edx, edx
cmp dword [esp + 0x38], ecx
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
add ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
cmp ecx, 0x1a07
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [esp + 0x2c], ecx
dec dword [esp + 0x28]
cmp dword [esp + 0x28], 0xffffffe2
jg 0x1003d312
lea ecx, [esp + 0x1a8]
call fcn.1000c2fa
mov dword [esp + 0x18], 0x8a61928c
lea ecx, [esp + 0x160]
mov dword [esp + 0x28], ebx
push 3
call fcn.1000c0a5
mov dword [esp + 0x27c], ebx
lea ecx, [esp + 0x130]
mov dword [esp + 0x20], esi
mov dword [esp + 0x2c], 0x7d266845
mov dword [esp + 0x24], 0xacb2
push esi
call fcn.1000c0a5
mov dword [esp + 0x30], 0xd1ad702c
mov dword [esp + 0x18], 0xa67d
mov dword [esp + 0x1c], 0xc87e1771
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x34], 0xfffffffa
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], 0xfffffffb
mov dword [esp + 0x14], ebx
jmp 0x1003d452
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xac], 0x4c90d297
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x1003d43f
mov dword [esp + 0x14], ebx
jmp 0x1003d471
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x160]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x1003d45f
mov dword [esp + 0x14], ebx
jmp 0x1003d494
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x130]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x1003d47e
mov dword [esp + 0x14], ebx
jmp 0x1003d4af
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x260], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x1003d4a0
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x160]
mov dword [ecx + 4], eax
inc dword [esp + 0x20]
mov eax, dword [esp + 0xb0]
mov eax, dword [esp + 0x24]
mov dword [ecx + 4], eax
dec dword [esp + 0x24]
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0x130]
imul ecx, dword [eax]
mov dword [esp + 0x34], ecx
cmp dword [esp + 0x34], ebx
jne 0x1003d501
mov ecx, ebx
cmp dword [esp + 0x2c], ebx
je 0x1003d503
mov ecx, esi
xor eax, eax
cmp ecx, 0xcdb7a897
sete al
cmp eax, dword [esp + 0x38]
jle 0x1003d518
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0xb0]
lea ecx, [esp + 0x130]
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x268], esi
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
call fcn.1000c2fa
or dword [esp + 0x27c], 0xffffffff
lea ecx, [esp + 0x160]
call fcn.1000c2fa
mov dword [esp + 0x28], 0x2a2b3b7b
lea ecx, [esp + 0x1b4]
push 4
call fcn.1000c0a5
mov dword [esp + 0x27c], esi
push 0xfffffffffffffff6
mov dword [esp + 0x34], 0x9b95
pop edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], 0xfff6
mov dword [esp + 0x14], ebx
jmp 0x1003d5b3
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x44], 0x4a6847df
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x1003d5a3
push 4
mov dword [esp + 0x18], ebx
pop edx
jmp 0x1003d5d8
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1b4]
mov dword [eax + ecx*4], 0x3c4ab274
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x1003d5c2
mov dword [esp + 0x14], ebx
jmp 0x1003d5f3
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x240], edx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x1003d5e4
mov dword [esp + 0x44], ebx
jmp 0x1003d672
mov dword [esp + 0x30], 0x92443250
lea ecx, [esp + 0x1cc]
mov dword [esp + 0x30], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x30], ebx
push 2
call fcn.1000c0a5
push 2
mov dword [esp + 0x1c], ebx
pop edx
jmp 0x1003d63d
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1cc]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jl 0x1003d62b
mov dword [esp + 0x18], ebx
jmp 0x1003d658
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x248], esi
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jl 0x1003d649
dec dword [esp + 0x2c]
lea ecx, [esp + 0x1cc]
call fcn.1000c2fa
dec dword [esp + 0x44]
cmp dword [esp + 0x44], edi
jne 0x1003d600
mov edi, dword [sym.imp.USER32.dll_EndMenu]
mov dword [esp + 0x24], esi
cmp dword [esp + 0x24], ebx
jl 0x1003d69b
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1003d695
call edi
dec dword [esp + 0x24]
jns 0x1003d688
or dword [esp + 0x27c], 0xffffffff
lea ecx, [esp + 0x1b4]
call fcn.1000c2fa
push dword [esp + 0x48]
movdqa xmm0, xmmword [0x10007f10]
lea eax, [esp + 0x21c]
push eax
lea eax, [esp + 0x210]
mov dword [esp + 0xc8], ebx
push eax
push ebx
lea ecx, [esp + 0xd0]
mov dword [esp + 0xd4], ebx
movdqu xmmword [esp + 0x218], xmm0
mov dword [esp + 0xd8], ebx
call fcn.1000c63b
mov dword [esp + 0x27c], 2
lea eax, [esp + 0x228]
push dword [esp + 0x48]
movdqa xmm0, xmmword [0x10007f10]
lea ecx, [esp + 0xb8]
push eax
lea eax, [esp + 0x220]
mov dword [esp + 0x24], 0x8a61928c
push eax
mov dword [esp + 0x24], 0x2a2b3b7b
push ebx
movdqu xmmword [esp + 0x228], xmm0
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ebx
call fcn.1000c63b
mov dword [esp + 0x1c], ebx
jmp 0x1003d77d
mov dword [esp + 0x2c], ebx
xor edx, edx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
cmp ecx, eax
setle dl
add edx, dword [esp + 0x2c]
mov dword [esp + 0x18], edx
dec dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xfffffff1
je 0x1003d75e
push 3
mov dword [esp + 0x1c], ebx
pop eax
jmp 0x1003d855
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], ebx
jmp 0x1003d847
mov dword [esp + 0x14], esi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], ebx
jl 0x1003d843
mov dword [esp + 0x28], 8
mov dword [esp + 0x28], eax
cmp dword [esp + 0x28], ebx
jl 0x1003d7f6
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
sub ecx, eax
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0xb4]
mov dword [eax + edx*4], ecx
dec dword [esp + 0x28]
jns 0x1003d7c5
push 3
pop eax
mov dword [esp + 0x20], eax
cmp dword [esp + 0x20], ebx
jl 0x1003d839
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xb4]
cmp dword [eax + ecx*4], ebx
jne 0x1003d836
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1003d830
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.USER32.dll_DrawFocusRect]
dec dword [esp + 0x20]
jns 0x1003d800
push 3
pop eax
dec dword [esp + 0x14]
jns 0x1003d7b3
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], eax
jle 0x1003d79d
inc dword [esp + 0x18]
cmp dword [esp + 0x18], eax
jle 0x1003d790
lea ecx, [esp + 0xb4]
call fcn.1000c2fa
mov dword [esp + 0x18], ebx
jmp 0x1003daed
mov dword [esp + 0x24], 0xfff8
lea ecx, [esp + 0x118]
mov dword [esp + 0x1c], 4
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x14], 0xfffffffc
push esi
call fcn.1000c0a5
mov dword [esp + 0x34], 0x262
mov dword [esp + 0x30], 0xfffffff8
mov dword [esp + 0x20], ebx
jmp 0x1003d8ca
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x118]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x20]
cmp dword [esp + 0x20], esi
jl 0x1003d8b7
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
add eax, 0xb8f3
jne 0x1003d8f7
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x1c]
mov eax, ebx
jge 0x1003d8f9
mov eax, esi
add eax, 0xf34f
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x24]
jge 0x1003d9e1
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], 0x2199
mov dword [esp + 0x38], 0xfffffffb
mov dword [esp + 0x1c], ebx
jmp 0x1003d9d4
mov dword [esp + 0x28], 0x8ed7c3b7
mov dword [esp + 0x38], 0xfffffff6
mov dword [esp + 0x20], ebx
jmp 0x1003d956
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0xd4], 0xe469209a
inc dword [esp + 0x20]
cmp dword [esp + 0x20], esi
jl 0x1003d943
mov ecx, dword [esp + 0x14]
xor edx, edx
mov eax, dword [esp + 0x28]
neg ecx
cmp eax, ecx
setne dl
mov dword [esp + 0xd4], edx
mov eax, dword [esp + 0x2c]
add eax, edx
je 0x1003d982
cmp dword [esp + 0x14], ebx
jne 0x1003d984
mov esi, ebx
mov eax, dword [esp + 0x2c]
xor edx, edx
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
cmp ecx, eax
setg dl
add edx, esi
sub edx, dword [esp + 0x14]
je 0x1003d9ab
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
xor esi, esi
mov eax, dword [esp + 0x28]
xor ecx, ecx
mov eax, dword [esp + 0x28]
inc esi
cmp eax, esi
setle cl
xor eax, eax
cmp ecx, esi
setle al
add eax, dword [esp + 0x38]
mov dword [esp + 0x38], eax
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 4
jge 0x1003d92d
jmp 0x1003da2b
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1003d9fb
push ebx
push ebx
push 0x4e0
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [esp + 0x14], ebx
jmp 0x1003da25
mov dword [esp + 0x1c], ebx
jmp 0x1003da1b
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x118]
cmp dword [eax + ecx*4], ebx
jne 0x1003da21
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], ebx
jle 0x1003da07
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jle 0x1003da01
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x118]
mov dword [esp + 0x1c], eax
call fcn.1000c2fa
mov dword [esp + 0x2c], ebx
lea ecx, [esp + 0x1e4]
mov dword [esp + 0x30], 0xfffffffa
mov dword [esp + 0x20], 0xf0b96ca2
push 3
call fcn.1000c0a5
mov dword [esp + 0x20], ebx
jmp 0x1003da7d
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1e4]
mov dword [eax + ecx*4], 0x443250e6
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 3
jl 0x1003da67
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], eax
mov dword [esp + 0x20], 2
cmp dword [esp + 0x20], ebx
jl 0x1003dac6
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1003dac0
push ebx
push 0xa8c
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPointW]
dec dword [esp + 0x20]
jns 0x1003da9a
lea ecx, [esp + 0x1e4]
call fcn.1000c2fa
mov ecx, dword [esp + 0x2c]
xor edx, edx
mov eax, dword [esp + 0x18]
cmp ecx, eax
setle dl
add edx, dword [esp + 0x2c]
mov dword [esp + 0x28], edx
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffff1
je 0x1003d874
push 4
lea ecx, [esp + 0x188]
call fcn.1000c0a5
mov byte [esp + 0x27c], 3
mov dword [esp + 0x30], 0x9b95
mov dword [esp + 0x24], 0xfffffff6
mov dword [esp + 0x2c], 0xfff6
mov dword [esp + 0x14], ebx
jmp 0x1003db3c
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x40], 0x4a6847df
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x1003db2c
push 4
mov dword [esp + 0x18], ebx
pop edx
jmp 0x1003db61
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x184]
mov dword [eax + ecx*4], 0x3c4ab274
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x1003db4b
mov dword [esp + 0x14], ebx
jmp 0x1003db7c
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x250], edx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x1003db6d
mov dword [esp + 0x40], ebx
jmp 0x1003dbfb
mov dword [esp + 0x30], 0x92443250
lea ecx, [esp + 0x178]
mov dword [esp + 0x30], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x30], ebx
push 2
call fcn.1000c0a5
push 2
mov dword [esp + 0x1c], ebx
pop edx
jmp 0x1003dbc6
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x178]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jl 0x1003dbb4
mov dword [esp + 0x18], ebx
jmp 0x1003dbe1
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x258], esi
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jl 0x1003dbd2
dec dword [esp + 0x2c]
lea ecx, [esp + 0x178]
call fcn.1000c2fa
dec dword [esp + 0x40]
cmp dword [esp + 0x40], 0xfffffff6
jne 0x1003db89
mov dword [esp + 0x24], esi
cmp dword [esp + 0x24], ebx
jl 0x1003dc1f
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1003dc19
call edi
dec dword [esp + 0x24]
jns 0x1003dc0c
lea ecx, [esp + 0x184]
mov byte [esp + 0x27c], 2
call fcn.1000c2fa
mov dword [esp + 0x28], ebx
jmp 0x1003e1f8
mov dword [esp + 0x34], ebx
mov dword [esp + 0x18], ebx
jmp 0x1003e1e9
mov dword [esp + 0x24], esi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x38], 0xfffffffe
mov dword [esp + 0x20], ebx
jmp 0x1003dc7a
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x228], 0xeac8b13e
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 3
jl 0x1003dc67
mov dword [esp + 0x1c], ebx
jmp 0x1003dd37
mov dword [esp + 0x2c], 0x210e164c
xor ecx, ecx
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x1c]
test eax, eax
mov eax, dword [esp + 0x2c]
sets cl
sub eax, ecx
jne 0x1003dcb8
mov eax, dword [esp + 0x30]
mov ecx, ebx
cmp dword [esp + 0x22c], ebx
je 0x1003dcba
mov ecx, esi
mov eax, dword [esp + 0x2c]
imul eax, ecx
mov byte [esp + 0x13], bl
test eax, eax
je 0x1003dd1a
cmp byte [esp + 0x13], 0
je 0x1003dd33
push 0x1ebd
push 0xf4e
push ebx
push ebx
push 0xf29
push 0xf26
push 0xa71
push 0x242e
push 0x4d7
push 0x22fa
push 0xbca
push 0x1ef3
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_StretchDIBits]
jmp 0x1003dd33
cmp byte [esp + 0x13], 0
je 0x1003dd33
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 2
jle 0x1003dc8a
mov dword [esp + 0x1c], ebx
jmp 0x1003ddbd
mov dword [esp + 0x20], ebx
jmp 0x1003dd61
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0xfc], 3
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 4
jl 0x1003dd4e
mov dword [esp + 0x100], 0xd
jmp 0x1003ddab
mov dword [esp + 0x20], 0xf1e283d1
mov dword [esp + 0x20], 0xffffffe2
jmp 0x1003dd9d
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1003dd99
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 0xffffffe7
jle 0x1003dd87
inc dword [esp + 0x100]
cmp dword [esp + 0x100], 0x11
jge 0x1003dd75
mov eax, dword [esp + 0x38]
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x1c
jl 0x1003dd48
mov dword [esp + 0x24], 3
cmp dword [esp + 0x24], ebx
jl 0x1003e1e5
mov dword [esp + 0x20], 8
mov dword [esp + 0x20], 3
cmp dword [esp + 0x20], ebx
jl 0x1003de9b
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jle 0x1003dc49
inc dword [esp + 0x28]
cmp dword [esp + 0x28], 3
jle 0x1003dc3c
or dword [esp + 0x27c], 0xffffffff
lea ecx, [esp + 0xc0]
call fcn.1000c2fa
mov dword [esp + 0x24], 0x2e91a049
lea ecx, [esp + 0x124]
push 2
call fcn.1000c0a5
mov dword [esp + 0x24], ebx
jmp 0x1003e249
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x124]
mov dword [eax + ecx*4], 6
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 2
jl 0x1003e233
mov dword [esp + 0x24], 8
cmp dword [esp + 0x24], esi
jne 0x1003e280
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x30], 0x9ed0
mov eax, dword [esp + 0x30]
neg eax
mov dword [ecx + 4], eax
dec dword [esp + 0x24]
cmp dword [esp + 0x24], esi
je 0x1003e265
lea ecx, [esp + 0x124]
call fcn.1000c2fa
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x28], 0xfa017779
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1003e2bb
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetCommState]
cmp dword [esp + 0x58], ebx
jne 0x1003e370
mov eax, dword [esp + 0x58]
cmp dword [esp + 0x58], ebx
jne 0x1003e2de
mov eax, dword [esp + 0x5c]
mov ecx, ebx
imul eax, dword [esp + 0x58]
test eax, eax
je 0x1003e2e0
mov ecx, esi
mov eax, dword [esp + 0x58]
sub ecx, eax
mov eax, dword [esp + 0x58]
sub ecx, 0x1fc9a57b
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx
test eax, eax
je 0x1003e304
mov eax, esi
cmp dword [esp + 0x54], ebx
jne 0x1003e306
mov eax, ebx
cmp eax, dword [esp + 0x58]
je 0x1003e314
mov eax, ebx
cmp dword [esp + 0x58], ebx
je 0x1003e316
mov eax, esi
mov dword [esp + 0x58], eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
add eax, 0x6178
jne 0x1003e370
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], al
je 0x1003e341
call dword [sym.imp.KERNEL32.dll_GetOEMCP]
mov dword [esp + 0x28], 0xffffffe9
jmp 0x1003e367
mov dword [esp + 0x30], 0x4ddb84c6
mov dword [esp + 0x2c], 0xc869b7d6
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
inc dword [esp + 0x28]
cmp dword [esp + 0x28], 0x12
jne 0x1003e34b
jmp 0x1003e37c
mov dword [esp + 0x2c], 3
inc dword [esp + 0x2c]
mov dword [esp + 0x3c], 0x9d29be1d
lea ecx, [esp + 0x13c]
mov dword [esp + 0x88], 0x4f2887cf
push 2
call fcn.1000c0a5
mov dword [esp + 0x27c], 5
lea eax, [esp + 0x208]
push dword [esp + 0x48]
movdqa xmm0, xmmword [0x10007f60]
lea ecx, [esp + 0xe8]
push eax
mov dword [esp + 0xe4], 0xfffffffd
lea eax, [esp + 0x200]
mov dword [esp + 0x24], 0x97f6af11
push eax
mov dword [esp + 0x2c], 0x2e1dfe00
mov dword [esp + 0x3c], 0x68cd5467
mov dword [esp + 0x3c], 0x3493876a
push ebx
movdqu xmmword [esp + 0x208], xmm0
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
call fcn.1000c63b
push 7
mov byte [esp + 0x280], 6
mov dword [esp + 0x20], 0x16
pop edi
jmp 0x1003e586
mov dword [esp + 0x34], 0xfffffffe
lea ecx, [esp + 0x1c0]
push 2
call fcn.1000c0a5
mov dword [esp + 0x24], 0xd83d7839
mov dword [esp + 0x18], ebx
mov dword [esp + 0x30], 0x6c0b333e
mov dword [esp + 0x30], 0xa08376fb
mov dword [esp + 0x30], ebx
mov dword [esp + 0x30], 8
mov dword [esp + 0x30], 0x68993dd6
mov dword [esp + 0x2c], edi
mov dword [esp + 0x24], ebx
jmp 0x1003e498
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c0]
mov dword [eax + ecx*4], 0x6721
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 2
jl 0x1003e482
mov dword [esp + 0x34], 0xd
jmp 0x1003e567
mov dword [esp + 0x30], 0x2fbb6bc3
mov dword [esp + 0x28], 0x3303
mov dword [esp + 0x24], ebx
jmp 0x1003e4d1
mov eax, dword [esp + 0x24]
mov dword [esp + eax*4 + 0xf0], edi
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 3
jl 0x1003e4c2
mov dword [esp + 0xf0], esi
cmp dword [esp + 0xf0], ebx
jl 0x1003e55b
dec dword [esp + 0x28]
mov dword [esp + 0x20], ebx
jmp 0x1003e54c
mov dword [esp + 0x24], ebx
jmp 0x1003e50e
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1003e50a
push ebx
call dword [sym.imp.USER32.dll_DestroyIcon]
inc dword [esp + 0x24]
cmp dword [esp + 0x24], esi
jle 0x1003e4f8
mov dword [esp + 0x18], ebx
jmp 0x1003e542
cmp dword [esp + 0x18], esi
jle 0x1003e51a
cmp dword [esp + 0x20], esi
jle 0x1003e4f2
dec dword [esp + 0xf0]
jns 0x1003e4e8
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], eax
inc dword [esp + 0x34]
cmp dword [esp + 0x34], 0x1c
jge 0x1003e4ac
dec dword [esp + 0x2c]
lea ecx, [esp + 0x1c0]
call fcn.1000c2fa
dec dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
je 0x1003e432
lea ecx, [esp + 0xe4]
mov byte [esp + 0x27c], 5
call fcn.1000c2fa
mov dword [esp + 0x14], 0x43cdf98a
mov dword [esp + 0x28], 0x8deb256c
mov dword [esp + 0x1c], 0x80eb60f9
mov dword [esp + 0x14], 0xc93b4e1
cmp dword [esp + 0x14], ebx
je 0x1003e5dc
cmp dword [esp + 0x14], esi
jg 0x1003e5d4
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
cmp eax, 0x2aafa0b2
push 0xfffffffffffffff7
setg cl
pop edi
cmp ecx, 0x9236
jle 0x1003e63e
cmp dword [esp + 0x28], ebx
jne 0x1003e63e
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1003e72d
push 4
lea ecx, [esp + 0x1dc]
call fcn.1000c0a5
mov dword [esp + 0x20], 0xfffffff6
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x24], ebx
jmp 0x1003e674
cmp dword [esp + 0x24], 4
jl 0x1003e662