Function at 0x1006ff65
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1008b44b
call fcn.10089ef8
sub esp, 0x1a4
push ebx
push esi
push edi
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0xdc]
push 4
mov byte [ebp - 0x31], dl
call fcn.10022d19
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x1c], 5
mov dword [ebp - 0x10], ebx
jmp 0x1006ffaf
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xdc]
mov dword [eax + ecx*4], 0xffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1006ff9c
push 3
mov dword [ebp - 0x1c], ebx
pop esi
jmp 0x1007013b
mov dword [ebp - 0x10], ebx
jmp 0x1006ffd3
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x48], 0xbeccce1e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1006ffc5
mov dword [ebp - 0x14], 0x460e
cmp dword [ebp - 0x14], 0x46c9
jle 0x10070032
push ebx
push ebx
call dword [sym.imp.USER32.dll_SetWindowPlacement]
mov esi, ebx
mov dword [ebp - 0x10], ebx
mov edi, esi
mov dword [ebp - 0x24], 0x2942
mov ebx, edi
mov esi, 0x5a48
mov eax, ebx
mov ecx, 0x1008fbf8
cdq
push edx
push eax
call fcn.100229ff
dec ebx
dec esi
jne 0x10070005
dec edi
dec dword [ebp - 0x24]
jne 0x1006fffe
mov esi, dword [ebp - 0x10]
inc esi
mov dword [ebp - 0x10], esi
cmp esi, 0x169b
jl 0x1006fff5
push 3
xor ebx, ebx
pop esi
mov dword [ebp - 0x48], esi
cmp dword [ebp - 0x48], ebx
jl 0x10070120
mov dword [ebp - 0x24], 0x3e64f147
mov dword [ebp - 0x20], 0x6eee
cmp dword [ebp - 0x20], 0x72c4
jle 0x100700ca
mov esi, ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x24], 0x74f9
mov edi, ebx
mov eax, edi
lea ecx, [ebp - 0x198]
cdq
idiv ebx
or edx, esi
mov eax, edx
cdq
push edx
push eax
call fcn.100128ee
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10070087
mov eax, dword [eax]
push eax
call fcn.10074e83
pop ecx
push 0
push 1
lea ecx, [ebp - 0x198]
call fcn.100234cf
inc ebx
cmp ebx, 0x7502
jl 0x10070066
inc edi
push 0
pop ebx
cmp edi, 0x68d4
jl 0x10070066
dec esi
dec dword [ebp - 0x24]
jne 0x10070064
mov esi, dword [ebp - 0x10]
inc esi
mov dword [ebp - 0x10], esi
cmp esi, 0x3452
jl 0x1007005a
push 3
pop esi
cmp dword [ebp - 0x20], 0x6e44
jge 0x100700de
push 0x100110b0
call fcn.10074e83
pop ecx
xor ecx, ecx
mov dword [ebp - 0x10], ebx
inc ecx
jmp 0x100700f0
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x54], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100700e6
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10070107
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_SetWindowRgn]
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], ebx
jl 0x10070117
dec dword [ebp - 0x54]
dec dword [ebp - 0x24]
jns 0x1007010f
dec dword [ebp - 0x48]
jns 0x1007003e
cmp dword [ebp - 0x14], 0x45b7
jge 0x10070138
mov edx, 0x1001107c
mov ecx, 0x1008fbf8
call fcn.1002574f
inc dword [ebp - 0x1c]
push 1
pop ecx
cmp dword [ebp - 0x1c], esi
jle 0x1006ffc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xdc]
call fcn.10022d9b
mov eax, 0xa5d6c05b
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x20], 0x8da8e97e
mov dword [ebp - 0x20], 0x2913
cmp dword [ebp - 0x20], 0x2b04
jle 0x100701f9
call dword [sym.imp.KERNEL32.dll_GetOEMCP]
mov esi, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x10], 0x4135
mov edi, ebx
mov dword [ebp - 0x24], 0x45a0
mov eax, esi
lea ecx, [ebp - 0x120]
xor eax, ebx
cdq
push edx
push eax
call fcn.100128ee
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100701b8
mov eax, dword [eax]
push eax
call fcn.10074e83
pop ecx
push 0
push 1
lea ecx, [ebp - 0x120]
call fcn.100234cf
add ebx, edi
dec dword [ebp - 0x24]
jne 0x1007019c
inc edi
push 0
pop ebx
cmp edi, 0x6b9c
jl 0x10070195
dec esi
dec dword [ebp - 0x10]
jne 0x10070193
mov esi, dword [ebp - 0x1c]
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x3be0
jl 0x10070189
push 3
pop esi
cmp dword [ebp - 0x20], 0x2790
jge 0x1007020d
push 0x100110f0
call fcn.10074e83
pop ecx
xor edx, edx
mov dword [ebp - 0x10], edx
jmp 0x10070225
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x144], 0xf415d724
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10070214
mov dword [ebp - 0x20], edx
jmp 0x10070259
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], edx
jl 0x10070256
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0x78]
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x78], ecx
cmp dword [ebp - 0x20], edx
jne 0x10070256
dec dword [ebp - 0x24]
jns 0x1007023e
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x1007022f
imul eax, dword [ebp - 0x20], 0x1188
mov ecx, dword [0x1009701c]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp + 8]
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
cmp byte [ebp - 0x31], dl
je 0x10070486
xor ebx, ebx
inc ebx
cmp ecx, ebx
jne 0x10070486
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x30], 0x85ce96b7
mov dword [ebp - 0x28], 0xfffffffa
mov dword [ebp - 0x2c], 0x5b054dbb
mov dword [ebp - 0x28], 0xc5440874
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x24], 0x68d2
cmp dword [ebp - 0x24], 0x6c68
mov dword [eax + 8], 4
jle 0x10070337
push edx
push edx
call dword [sym.imp.USER32.dll_FindWindowA]
xor eax, eax
mov ebx, eax
mov esi, eax
mov edi, eax
mov eax, edi
lea ecx, [ebp - 0x138]
and eax, esi
xor eax, ebx
cdq
push edx
push eax
call fcn.100128ee
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100702fe
mov eax, dword [eax]
push eax
call fcn.10074e83
pop ecx
push 0
push 1
lea ecx, [ebp - 0x138]
call fcn.100234cf
inc edi
cmp edi, 0x6a34
jl 0x100702e0
inc esi
push 0
pop eax
cmp esi, 0x411a
jl 0x100702de
inc ebx
cmp ebx, 0x5658
jl 0x100702dc
xor ebx, ebx
xor edx, edx
inc ebx
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x24], 0x678c
jge 0x1007034e
push 0x10011118
call fcn.10074e83
pop ecx
push 4
lea ecx, [ebp - 0xf4]
call fcn.10022d19
mov dword [ebp - 4], ebx
mov dword [ebp - 0x28], 0x41145714
mov dword [ebp - 0x24], 0x7bdd
mov dword [ebp - 0x20], 0x2537
cmp dword [ebp - 0x20], 0x2659
jle 0x100703eb
xor eax, eax
mov edi, eax
mov dword [ebp - 0x10], edi
jmp 0x10070387
xor eax, eax
mov esi, eax
jmp 0x1007038d
xor eax, eax
mov ecx, esi
mov dword [ebp - 0x28], edi
mov ebx, eax
sar edi, cl
mov ecx, ebx
mov eax, edi
sar eax, cl
lea ecx, [ebp - 0x15c]
cdq
push edx
push eax
call fcn.100128ee
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100703b4
mov eax, dword [eax]
push eax
call fcn.10074e83
pop ecx
push 0
push 1
lea ecx, [ebp - 0x15c]
call fcn.100234cf
inc ebx
cmp ebx, 0x6228
jl 0x10070396
mov edi, dword [ebp - 0x10]
inc esi
cmp esi, 0x136
jl 0x1007038b
inc edi
mov dword [ebp - 0x10], edi
cmp edi, 0x7a2a
jl 0x10070385
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x20], 0x2424
jge 0x10070406
push 0x1001113c
call fcn.10074e83
pop ecx
xor ecx, ecx
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 4
jge 0x1007042c
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xf4]
mov dword [eax + ecx*4], 0xd373ee76
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10070411
xor ecx, ecx
mov eax, dword [ebp - 0x24]
dec dword [ebp - 0x24]
test eax, eax
je 0x10070441
cmp dword [ebp - 0x2c], ecx
je 0x1007043e
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
lea ecx, [ebp - 0xf4]
setl dl
xor eax, eax
cmp edx, 0x7df3
setne al
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
or dword [ebp - 4], 0xffffffff
call fcn.10022d9b
mov eax, dword [ebp + 8]
xor edx, edx
mov ecx, dword [ebp - 0x40]
mov dword [eax + 0xc], 0x1009701c
mov esi, dword [ebp - 0x3c]
cmp esi, ecx
jge 0x10070f3a
mov ebx, 0x10097020
mov dword [ebp - 0x14], 0xfffffffe
xor edi, edi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x10], edx
inc edi
cmp dword [ebp - 0x10], 2
jge 0x100704bb
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xfc], edi
inc dword [ebp - 0x10]
jmp 0x100704a6
mov dword [ebp - 0x14], edx
jmp 0x100704cb
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], edx
jne 0x100704d1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x12
je 0x100704c0
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], edx
jl 0x1007052a
mov dword [ebp - 0x10], 6
mov byte [ebp - 0x15], dl
cmp byte [ebp - 0x15], 0
je 0x100704f2
push edx
call dword [sym.imp.USER32.dll_GetDC]
xor edx, edx
mov dword [ebp - 0x10], edx
jmp 0x10070520
mov byte [ebp - 0x15], dl
cmp byte [ebp - 0x15], 0
je 0x10070511
push edx
push edx
push edx
push edx
push edx
push edx
push edx
push edx
push edx
call dword [sym.imp.GDI32.dll_Arc]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0xfc], edx
jne 0x10070525
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jle 0x100704f7
dec dword [ebp - 0x14]
jns 0x100704d9
mov dword [ebp - 0x24], edx
test esi, esi
jle 0x10070992
mov dword [ebp - 0x2c], 0x40be
cmp dword [ebp - 0x2c], 0x41b0
jle 0x1007056f
mov esi, edx
mov edi, edx
mov eax, edi
mov ecx, 0x1008fbf8
xor eax, esi
cdq
push edx
push eax
call fcn.100229ff
inc edi
cmp edi, 0x200a
jl 0x10070549
inc esi
push 0
pop edx
cmp esi, 0x773e
jl 0x10070547
cmp dword [ebp - 0x2c], 0x3d02
jge 0x1007058e
mov edx, 0x1001117c
mov dword [ebp - 0x30], 0x1008f6a8
mov ecx, 0x1008fbf8
call fcn.1002574f
xor esi, esi
lea ecx, [ebp - 0xd0]
inc esi
push esi
call fcn.10022d19
push 2
pop edi
mov dword [ebp - 4], edi
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x10], 0x901f2c29
mov dword [ebp - 0x30], 0x46721591
mov dword [ebp - 0x30], 0x9ea41449
mov dword [ebp - 0x30], 0x714f98ca
push 3
call fcn.10022d19
xor edx, edx
mov dword [ebp - 0x14], edx
jmp 0x100705e6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd0]
mov dword [eax + ecx*4], 0xf6af1124
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100705d3
mov dword [ebp - 0x14], edx
jmp 0x10070601
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x168], 0xb04800fa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100705f0
mov dword [ebp - 0x14], edx
jmp 0x1007061f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb8]
mov dword [eax + ecx*4], 0xef068cd5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1007060c
mov dword [ebp - 0x10], edx
jmp 0x1007063d
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xd0]
mov dword [eax + ecx*4], 0xdf603fa7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1007062a
mov eax, dword [ebp - 0xb8]
lea ecx, [ebp - 0xb8]
dec dword [eax + 4]
call fcn.10022d9b
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd0]
call fcn.10022d9b
mov eax, dword [ebx]
add ebx, 4
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], ebx
mov eax, dword [ebx]
mov dword [ebp - 0x14], 0xfffffffe
mov dword [ebp - 0x2c], 0x367b
cmp dword [ebp - 0x2c], 0x396c
mov dword [ebp - 0x38], eax
jle 0x100706f7
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor ebx, ebx
mov edi, ebx
mov esi, ebx
mov eax, esi
lea ecx, [ebp - 0x180]
xor eax, edi
cdq
push edx
push eax
call fcn.100128ee
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100706bc
mov eax, dword [eax]
push eax
call fcn.10074e83
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x180]
call fcn.100234cf
inc esi
cmp esi, 0x6027
jl 0x100706a0
inc edi
cmp edi, 0x6397
jl 0x1007069e
xor eax, eax
push eax
push eax
push eax
call dword [sym.imp.GDI32.dll_PtInRegion]
mov ebx, dword [ebp - 0x20]
xor esi, esi
push 2
inc esi
pop edi
push esi
lea ecx, [ebp - 0xc4]
call fcn.10022d19
mov dword [ebp - 4], 3
cmp dword [ebp - 0x2c], 0x35e7
jge 0x1007071e
push 0x100111ac
call fcn.10074e83
pop ecx
xor ecx, ecx
mov dword [ebp - 0x14], ecx
jmp 0x10070732
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x94], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10070725
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], esi
jge 0x10070759
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc4]
mov dword [eax + ecx*4], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1007073f
xor ecx, ecx
mov dword [ebp - 0x14], 0xfffffff2
jmp 0x100707ad
mov dword [ebp - 0x10], 0xd16df251
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x10], 0xffffffec
jmp 0x100707a4
mov dword [ebp - 0x20], 0x2250db85
dec dword [ebp - 0x20]
mov dword [ebp - 0x20], ecx
jmp 0x1007079c
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x94], 0xe9fb1c03
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1007078b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffffb
jge 0x1007077c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x1c
je 0x10070762
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], ecx
jl 0x1007088d
mov dword [ebp - 0x2c], 0x68aa2d34
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], 0x20a7
cmp dword [ebp - 0x2c], 0x23d8
jle 0x1007080f
mov esi, ecx
mov edi, ecx
mov ecx, edi
mov eax, esi
shl eax, cl
mov ecx, 0x1008fbf8
cdq
push edx
push eax
call fcn.100229ff
inc edi
cmp edi, 0x29ab
jl 0x100707e4
inc esi
push 0
pop ecx
cmp esi, 0x340e
jl 0x100707e2
xor esi, esi
inc esi
cmp dword [ebp - 0x2c], 0x1fae
jge 0x10070827
mov edx, 0x100111cc
mov ecx, 0x1008fbf8
call fcn.1002574f
mov dword [ebp - 0x10], 0
jmp 0x1007083e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x4c], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10070830
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
sub eax, dword [ebp - 0x4c]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x94], 7
mov eax, dword [ebp - 0x2c]
imul edx, eax, 7
mov eax, dword [ebp - 0xc4]
push 0
mov dword [eax], edx
mov eax, dword [ebp - 0x4c]
cmp eax, esi
setge cl
xor eax, eax
cmp edx, ecx
pop ecx
sete al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], eax
dec dword [ebp - 0x14]
jns 0x100707bf
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc4]
call fcn.10022d9b
mov dword [ebp - 0x20], 0x824a8c6a
add ebx, 4
mov dword [ebp - 0x2c], 0x39cb61d2
xor edx, edx
mov dword [ebp - 0x20], 0xffffffe5
cmp dword [ebp - 0x20], 0xf
jle 0x10070902
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x10], edx
jmp 0x100708ce
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x68], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100708c4
mov dword [ebp - 0x10], edx
jmp 0x100708f8
mov dword [ebp - 0x1c], 0x629aa810
mov dword [ebp - 0x1c], edx
jmp 0x100708f0
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x68], edx
jne 0x100708f5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jle 0x100708e4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jle 0x100708d8
inc dword [ebp - 0x20]
jmp 0x100708b6
cmp dword [ebp - 0x2c], edx
je 0x1007091f
mov byte [ebp - 0x15], dl
cmp byte [ebp - 0x15], 0
je 0x10070971
push edx
push edx
push edx
push edx
push edx
call dword [sym.imp.USER32.dll_DrawTextW]
xor edx, edx
jmp 0x10070971
mov dword [ebp - 0x1c], 0xaa61fc2d
mov dword [ebp - 0x30], 0xd53d
mov byte [ebp - 0x15], dl
cmp byte [ebp - 0x15], 0
je 0x10070942
push edx
push edx
push edx
push edx
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
xor edx, edx
cmp dword [ebp - 0x1c], edx
je 0x10070958
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x20], edx
jne 0x10070955
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x38], 0
jne 0x1007097a
add ebx, 8
add ebx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x3c]
jl 0x10070535
jmp 0x10070995
xor esi, esi
inc esi
push 2
pop edi
push edi
lea ecx, [ebp - 0xe8]
call fcn.10022d19
mov dword [ebp - 4], 4
xor edx, edx
mov dword [ebp - 0x1c], 0x2ee76f50
mov dword [ebp - 0x10], edx
jmp 0x100709c8
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xe8]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x100709b9
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], edx
jl 0x10070a4e
xor ebx, ebx
mov dword [ebp - 0x14], 0xffab8c3a
lea ecx, [ebp - 0xa0]
push edi
call fcn.10022d19
mov dword [ebp - 0x10], ebx
jmp 0x10070a02
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xa0]
mov dword [eax + ecx*4], 0xafa2fafd
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x100709ef
mov dword [ebp - 0x14], ebx
jmp 0x10070a1a
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xa0]
mov dword [eax], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x10070a0c
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], ebx
jl 0x10070a3b
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x10070a36
push ebx
call dword [sym.imp.KERNEL32.dll_SetCommBreak]
dec dword [ebp - 0x14]
jns 0x10070a27
lea ecx, [ebp - 0xa0]
call fcn.10022d9b
dec dword [ebp - 0x1c]
jns 0x100709d7
mov ebx, dword [ebp - 0x20]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe8]
call fcn.10022d9b
mov dword [ebp - 0x3c], 0x59d6
cmp dword [ebp - 0x3c], 0x5a0e
jle 0x10070aad
xor eax, eax
mov edi, eax
mov esi, eax
mov ebx, eax
lea ecx, [ebx + esi]
mov eax, edi
sar eax, cl
mov ecx, 0x1008fbf8
cdq
push edx
push eax
call fcn.100229ff
inc ebx
cmp ebx, 0x3586
jl 0x10070a75
inc esi
push 0
pop eax
cmp esi, 0x6a30
jl 0x10070a73
inc edi
cmp edi, 0x4e7c
jl 0x10070a71
mov ebx, dword [ebp - 0x20]
xor esi, esi
inc esi
cmp dword [ebp - 0x3c], 0x58c3
mov edi, dword [ebx]
mov dword [ebp - 0x10], edi
jge 0x10070aca
mov edx, 0x100111e8
mov ecx, 0x1008fbf8
call fcn.1002574f
mov dword [ebp - 0x14], 0xfffffffe
lea ecx, [ebp - 0xac]
push esi
call fcn.10022d19
xor ecx, ecx
mov dword [ebp - 4], 5
mov dword [ebp - 0x14], ecx
jmp 0x10070af8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x8c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10070aeb
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], esi
jge 0x10070b20
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xac]
mov dword [eax + ecx*4], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10070b06
xor ecx, ecx
mov dword [ebp - 0x14], 0xfffffff2
cmp dword [ebp - 0x14], 0x1c
jne 0x10070c1f
mov dword [ebp - 0x24], 0xd16df251
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x24], 0xffffffec
jmp 0x10070bff
mov dword [ebp - 0x1c], 0x2250db85
mov dword [ebp - 0x28], 0x787e
cmp dword [ebp - 0x28], 0x7a32
jle 0x10070bc3
mov ebx, ecx
mov dword [ebp - 0x44], ecx
mov edi, ebx
mov dword [ebp - 0x2c], 0x4dc1
xor ebx, ebx
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x3c], ebx
add eax, esi
mov ecx, 0x1008fbf8
or eax, edi
cdq
push edx
push eax
call fcn.100229ff
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp eax, 0x19b0
jl 0x10070b7c
inc esi
cmp esi, 0x4ae0
jl 0x10070b77
dec edi
dec dword [ebp - 0x2c]
jne 0x10070b75
mov ebx, dword [ebp - 0x44]
inc ebx
mov dword [ebp - 0x44], ebx
cmp ebx, 0x7720
jl 0x10070b6a
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
xor ecx, ecx
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x28], 0x7583
jge 0x10070be0
mov edx, 0x10011230
mov ecx, 0x1008fbf8
call fcn.1002574f
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
jmp 0x10070bf6
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x8c], 0xe9fb1c03
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10070be5
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffffb
jge 0x10070b4e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x1c
je 0x10070b31
mov edi, dword [ebp - 0x10]
xor esi, esi
mov ebx, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], ecx
jl 0x10070c96
mov dword [ebp - 0x28], 0x68aa2d34
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], ecx
jmp 0x10070c4b
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x50], 0xffffffff
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x10070c3d
mov eax, dword [ebp - 0x50]
xor ecx, ecx
sub eax, dword [ebp - 0x50]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x8c], 7
mov eax, dword [ebp - 0x28]
imul edx, eax, 7
mov eax, dword [ebp - 0xac]
push 0
mov dword [eax], edx
mov eax, dword [ebp - 0x50]
cmp eax, esi
setge cl
xor eax, eax
cmp edx, ecx
pop ecx
sete al
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], eax
dec dword [ebp - 0x14]
jns 0x10070c27
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xac]
call fcn.10022d9b
add ebx, 4
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x20], ebx
push 4
mov ebx, dword [ebx]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x30], ebx
call fcn.10022d19
mov dword [ebp - 4], 6
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x38], 0x263b0a6d
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x44], 0xb56cef3c
mov dword [ebp - 0x28], 0x92079655
mov dword [ebp - 0x38], 0xc1094d0e
mov dword [ebp - 0x28], 0x388c
cmp dword [ebp - 0x28], 0x38de
jle 0x10070d72
xor eax, eax
mov ebx, eax
mov esi, eax
mov edi, eax
mov eax, edi
mov dword [ebp - 0x38], 0x1008f6b4
or eax, esi
lea ecx, [ebp - 0x1b0]
or eax, ebx
cdq
push edx
push eax
call fcn.100128ee
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10070d2e
mov eax, dword [eax]
push eax
call fcn.10074e83
pop ecx
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.100234cf
inc edi
cmp edi, 0x1c25
jl 0x10070d09
inc esi
push 0
pop eax
cmp esi, 0x7952
jl 0x10070d07
inc ebx
cmp ebx, 0x2864
jl 0x10070d05
push eax
push eax
push eax
push eax
call dword [sym.imp.GDI32.dll_GetCharWidthW]
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x30]
cmp dword [ebp - 0x28], 0x368e
jge 0x10070d86
push 0x10011260
call fcn.10074e83
pop ecx
xor edx, edx
mov dword [ebp - 0x14], edx
jmp 0x10070da0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x84]
mov dword [eax + ecx*4], 0xe01b17d7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10070d8d
mov dword [ebp - 0x14], edx
jmp 0x10070db8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x108], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10070dab
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov esi, dword [ebp - 0x84]
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0xc], 1
cmp eax, dword [esi + 4]
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setl cl
xor eax, eax
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], eax
je 0x10070dfe
cmp dword [esi + 0xc], eax
je 0x10070dfe
xor esi, esi
inc esi
mov eax, esi
jmp 0x10070e01
xor esi, esi
inc esi
mov dword [ebp - 0x108], eax
xor edx, edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 8]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
setne dl
xor ecx, ecx
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
cmp eax, 0xfffffffd
setne cl
imul eax, ecx, 3
mov dword [ebp - 0x38], eax
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x10070e54
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x84]
call fcn.10022d9b
mov ecx, dword [ebp - 0x20]
test ebx, ebx
jne 0x10070f3a
cmp byte [ebp - 0x31], bl
je 0x10070e81
cmp dword [ebp - 0x40], esi
jne 0x10070e81
mov edx, dword [ebp + 8]
lea eax, [edi + 0x10]
add dword [edx + 8], eax
mov eax, dword [ecx + 8]
mov ebx, dword [ecx + 4]
add ecx, 0xc
push edi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], ecx
call fcn.10073957
mov esi, dword [ebp - 0x10]
mov edi, eax
xor eax, eax
mov dword [ebp - 0x38], edi
pop ecx
mov dword [ebp - 0x64], eax
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x64]
push eax
push esi
call fcn.10071e1f
xor ecx, ecx
test esi, esi
mov esi, dword [ebp - 0x60]
jle 0x10070f17
mov eax, ecx
and eax, 0x80000001
jns 0x10070ed1
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, ebx
add eax, ecx
add eax, ebx
imul eax, dword [ebp - 0x30]
cdq
idiv dword [ebp - 0x10]
xor eax, eax
cmp word [esi + edx*2], ax
je 0x10070efd
xor edi, edi
lea eax, [edx + 1]
cdq
idiv dword [ebp - 0x10]
cmp word [esi + edx*2], di
jne 0x10070eed
mov edi, dword [ebp - 0x38]
xor eax, eax
inc eax
mov word [esi + edx*2], ax
mov eax, dword [ebp - 0x20]
mov al, byte [edx + eax]
mov byte [ecx + edi], al
inc ecx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
jl 0x10070ec3
jmp 0x10070f1a
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp + 8]
mov dword [ebx], eax
mov dword [ebx + 4], edi
test esi, esi
je 0x10070f3d
push esi
call fcn.10075059
xor eax, eax
pop ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
jmp 0x10070f3f
mov ebx, dword [ebp + 8]
xor eax, eax
mov dword [ebp + 8], 0xffffffff
mov byte [ebp + 0xb], al
cmp byte [ebp + 0xb], 0
je 0x10070f60
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
xor eax, eax
mov byte [ebp + 0xb], al
cmp byte [ebp + 0xb], 0
je 0x10070f77
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.USER32.dll_DeferWindowPos]
mov ecx, dword [ebp - 0xc]
mov eax, ebx
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret