Function at 0x1000a815
Capabilities:
Encode data using xor
Get system information on windows

Disassembly:
mov eax, 0x1006a776
call fcn.1006a2a0
sub esp, 0x1dc
mov dword [ebp - 0x38], 4
mov eax, ecx
push ebx
xor ebx, ebx
mov byte [ebp - 0x3c], dl
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x38], 0xf84b8114
mov dword [ebp - 0x38], 3
mov dword [ebp - 0x38], 0x170cd509
push esi
mov dword [ebp - 0x38], 0x4eea2a3b
push edi
mov dword [ebp - 0x38], 0x3d42374b
mov dword [ebp - 0x38], 0xe21afa9b
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x30], 0xe6aa1654
push 2
mov dword [ebp - 0x38], 0xac54c975
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], ebx
pop esi
jmp 0x1000a89a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1e4], 0x25bfc88e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1000a889
mov dword [ebp - 0x34], 0x1b62
cmp dword [ebp - 0x34], 0x408
jge 0x1000a94b
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x80]
push eax
push 0x10007700
call fcn.100532fb
mov ecx, dword [ebp - 0x80]
add esp, 0xc
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x2c], ecx
cmp edx, ecx
jle 0x1000a8ed
mov eax, edx
mov edx, ecx
mov ecx, eax
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x80], ecx
xor edi, edi
inc edi
cmp edx, edi
jne 0x1000a903
push ecx
push 0x10007708
call fcn.10053943
pop ecx
pop ecx
jmp 0x1000a94e
cmp edx, esi
jne 0x1000a93d
and ecx, 0x80000003
jns 0x1000a914
dec ecx
or ecx, 0xfffffffc
inc ecx
mov eax, dword [ebp - 0x2c]
cmp ecx, 2
cdq
cmovl esi, ecx
and edx, 3
add eax, edx
sar eax, 2
lea eax, [esi + eax*2]
add eax, eax
push eax
push 0x10007708
call fcn.10053943
pop ecx
pop ecx
push 2
pop esi
jmp 0x1000a94e
imul ecx, edx
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
jmp 0x1000a8f4
xor edi, edi
inc edi
dec dword [ebp - 0x30]
lea ecx, [ebp - 0x17c]
mov dword [ebp - 0x18], 0x69f4
mov dword [ebp - 0x2c], 0xee327439
push esi
call fcn.1000f8ae
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x1ac]
push dword [ebp + 8]
movdqa xmm0, xmmword [0x10009240]
lea ecx, [ebp - 0xe4]
push eax
lea eax, [ebp - 0x1bc]
mov dword [ebp - 0xe4], ebx
push eax
push ebx
movdqu xmmword [ebp - 0x1bc], xmm0
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xdc], ebx
call fcn.10012444
mov dword [ebp - 0x14], ebx
jmp 0x1000a9c3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x184], 0x3717be9f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1000a9b2
mov dword [ebp - 0x14], ebx
jmp 0x1000a9e0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x17c]
mov dword [eax + ecx*4], 0xfdb69689
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1000a9cd
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
sub ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
inc ecx
add ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x34], ecx
xor ecx, ecx
cmp dword [ebp - 0x34], eax
mov eax, dword [ebp - 0xe4]
setl cl
mov dword [ebp - 0x180], ecx
lea ecx, [ebp - 0xe4]
inc dword [eax + 4]
call fcn.1000f930
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x17c]
call fcn.1000f930
mov eax, dword [0x100705ec]
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x30], 0xc3099cf
push esi
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
call fcn.1000f8ae
mov dword [ebp - 4], edi
mov dword [ebp - 0x24], 0x3415
cmp dword [ebp - 0x24], 0x344f
jle 0x1000ab08
push ebx
push 0x1c9a
push ebx
push 0x1559
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov edi, ebx
mov dword [ebp - 0x18], ebx
mov esi, ebx
mov dword [ebp - 0x30], ebx
mov ecx, esi
mov dword [ebp - 0x2c], ebx
mov esi, edi
mov dword [ebp - 0x34], edi
sar esi, cl
mov edi, ebx
mov ebx, dword [ebp - 0x2c]
mov eax, edi
mov ecx, 0x10612078
xor eax, ebx
or eax, esi
cdq
push edx
push eax
call fcn.1000f645
inc edi
cmp edi, 0x3a44
jl 0x1000aab1
inc ebx
push 0
mov dword [ebp - 0x2c], ebx
cmp ebx, 0x43cd
pop ebx
jl 0x1000aaac
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x18]
inc esi
mov dword [ebp - 0x30], esi
cmp esi, 0x13da
jl 0x1000aaa0
inc edi
mov dword [ebp - 0x18], edi
cmp edi, 0x4ea0
jl 0x1000aa9b
push 0xf9f
call dword [sym.imp.GDI32.dll_EndPage]
xor edi, edi
inc edi
mov byte [ebp - 4], 2
cmp dword [ebp - 0x24], 0x3218
jge 0x1000ab4b
mov edx, 0x10007710
mov ecx, 0x10612078
call fcn.10011cee
jmp 0x1000ab4b
mov dword [ebp - 0x14], ebx
jmp 0x1000ab5e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x60], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1000ab50
mov dword [ebp - 0x14], ebx
jmp 0x1000ab78
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x12c]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1000ab69
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x60]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x60]
cmp eax, 0x7d50f82b
setle cl
xor edx, edx
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
cmp ecx, eax
mov esi, dword [ebp - 0x5c]
setl dl
sub esi, edx
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
neg esi
sbb esi, esi
sub edx, 0xfecf7921
inc esi
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
mov eax, dword [ebp - 0x12c]
setg cl
xor edx, edx
cmp esi, ecx
lea ecx, [ebp - 0x12c]
setl dl
or dword [ebp - 4], 0xffffffff
mov dword [eax], edx
call fcn.1000f930
cmp byte [ebp - 0x3c], 0
je 0x1000ac08
cmp dword [ebp - 0x58], edi
jne 0x1000ac08
mov eax, dword [ebp + 8]
mov dword [eax + 8], 4
mov dword [eax + 0xc], 0x100705ec
mov dword [ebp - 0x18], 8
mov dword [ebp - 0x14], 0x50bf34fd
mov dword [ebp - 0x2c], 0x344b
cmp dword [ebp - 0x2c], 0x3670
jle 0x1000ac4e
mov esi, ebx
mov ebx, esi
mov edi, 0x32f2
mov eax, ebx
mov ecx, 0x10612078
cdq
push edx
push eax
call fcn.1000f645
dec ebx
dec edi
jne 0x1000ac2f
inc esi
cmp esi, 0x10bf
jl 0x1000ac28
xor ebx, ebx
inc edi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 4], 4
cmp dword [ebp - 0x2c], 0x3277
jge 0x1000ac70
mov edx, 0x10007780
mov ecx, 0x10612078
call fcn.10011cee
or dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x1c]
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000ac86
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x18], ebx
jne 0x1000ad18
push 3
lea ecx, [ebp - 0x150]
call fcn.1000f8ae
mov dword [ebp - 0x18], ebx
jmp 0x1000ace5
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x150]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1000acd2
mov dword [ebp - 0x14], ebx
jmp 0x1000ad05
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x150]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jle 0x1000acf0
lea ecx, [ebp - 0x150]
call fcn.1000f930
jmp 0x1000ad79
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x2c], 0xffff
push 0
sbb eax, eax
neg eax
sub eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
inc eax
pop eax
setns al
xor edx, edx
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setge dl
mov dword [ebp - 0x34], edx
xor edx, edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setle dl
mov dword [ebp - 0x34], edx
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000ad79
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_EnumCalendarInfoW]
cmp esi, dword [ebp - 0x58]
jge 0x1000bb5d
mov dword [ebp - 0x20], 0x5c68ec0a
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x30], 5
mov dword [ebp - 0x38], 0xfffd
mov dword [ebp - 0x20], ebx
jmp 0x1000ae9c
mov dword [ebp - 0x24], edi
lea ecx, [ebp - 0x19c]
mov dword [ebp - 0x34], 0x3e75cb55
push 4
call fcn.1000f8ae
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x190]
mov dword [ebp - 0x40], 0xfff8
push edi
call fcn.1000f8ae
mov dword [ebp - 0x44], 0xfffffff6
mov dword [ebp - 0x14], ebx
jmp 0x1000adf6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x19c]
mov dword [eax + ecx*4], 0x35f1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1000ade3
mov dword [ebp - 0x14], ebx
jmp 0x1000ae14
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x190]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1000ae01
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setl dl
sub edx, dword [ebp - 0x20]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
inc eax
imul eax, dword [ebp - 0x24]
test eax, eax
jne 0x1000ae47
mov ecx, ebx
cmp dword [ebp - 0x24], ebx
je 0x1000ae49
mov ecx, edi
mov eax, dword [ebp - 0x24]
imul eax, ecx
cmp eax, 0xe57bf5cd
sbb eax, eax
xor ecx, ecx
neg eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
test eax, eax
setns cl
neg ecx
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x190]
call fcn.1000f930
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x19c]
call fcn.1000f930
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff3
jne 0x1000ada6
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, edi
setle cl
add ecx, dword [ebp - 0x20]
cmp ecx, 0x83560277
sbb eax, eax
neg eax
dec eax
je 0x1000aec7
mov eax, edi
cmp dword [ebp - 0x30], ebx
jne 0x1000aec9
mov eax, ebx
mov dword [ebp - 0x20], eax
mov esi, 0x100705f0
mov eax, dword [ebp - 0x1c]
test eax, eax
jle 0x1000b117
mov eax, dword [esi]
push 4
pop edx
push 2
mov dword [ebp - 0x34], 0x3eca4f83
add esi, edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x14], ebx
pop ecx
jmp 0x1000af06
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1dc], 0xfffffffe
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1000aef5
mov dword [ebp - 0x14], ebx
jmp 0x1000af1d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x108], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1000af10
mov dword [ebp - 0x34], 0xffffffff
dec dword [ebp - 0x108]
mov eax, dword [esi]
add esi, edx
mov dword [ebp - 0x20], 0x13923ccd
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x34], 0xde0f4c9f
mov dword [ebp - 0x38], 0xe568
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x24], ebx
jmp 0x1000af67
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x170], 0x737a30b9
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edx
jl 0x1000af56
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jne 0x1000af86
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, 0x8462751c
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x16c]
sub ecx, eax
mov eax, dword [ebp - 0x164]
add ecx, eax
mov eax, dword [ebp - 0x16c]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
sete dl
xor ecx, ecx
dec edx
cmp edx, eax
setge cl
cmp dword [ebp - 0x40], 0
mov dword [ebp - 0x34], ecx
jne 0x1000afe0
add esi, 8
mov dword [ebp - 0x14], 0xfffffff9
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x18], ebx
jmp 0x1000b008
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x48], 0xfffffff8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1000affa
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jg 0x1000b104
mov eax, 0x32bb11ac
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x90], ebx
cmp dword [ebp - 0x90], ebx
jg 0x1000b0f8
mov dword [ebp - 0x34], 0x52487223
mov dword [ebp - 0x18], ebx
jmp 0x1000b065
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1c8], 0x80366e52
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1000b054
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x48]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x48], ebx
je 0x1000b0a5
mov dword [ebp - 0x34], ebx
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x48], 0xd35da2a
jg 0x1000b0a5
mov ecx, edi
cmp dword [ebp - 0x30], ebx
jne 0x1000b0a7
mov ecx, ebx
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp + eax*4 - 0x48]
imul eax, ecx
add eax, 0x7fb0
je 0x1000b0be
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov ecx, edi
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x90]
sub ecx, eax
mov eax, dword [ebp - 0x14]
add eax, ecx
imul eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c4], eax
inc dword [ebp - 0x90]
cmp dword [ebp - 0x90], ebx
jle 0x1000b048
mov eax, 0x32bb11ac
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x1000b01e
add esi, dword [ebp - 0x44]
dec dword [ebp - 0x1c]
mov dword [ebp - 0x30], 0xa7fcc65
jne 0x1000aedc
mov dword [ebp - 0x24], 0xffffffff
lea ecx, [ebp - 0x100]
push edi
call fcn.1000f8ae
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x20], edi
push edi
call fcn.1000f8ae
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0x30], 0xfff9
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], 0xfffffff7
push 2
call fcn.1000f8ae
mov byte [ebp - 4], 9
mov dword [ebp - 0x2c], 0xd3de9507
mov dword [ebp - 0x14], ebx
jmp 0x1000b18c
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x100]
mov dword [eax + ecx*4], 0xf0b101aa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1000b179
mov dword [ebp - 0x14], ebx
jmp 0x1000b1a6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x74]
mov dword [eax + ecx*4], 0xa4e63097
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1000b196
push 2
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x1000b1c1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7c], 0x5869
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1000b1b3
mov dword [ebp - 0x14], ebx
jmp 0x1000b1de
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc8]
mov dword [eax + ecx*4], 0x3c6aa55a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1000b1cb
cmp dword [ebp - 0x24], ebx
je 0x1000b347
mov dword [ebp - 0x18], 7
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0x1c], 0xf8b8ae50
mov dword [ebp - 0x2c], 0x14d2
mov dword [ebp - 0x34], 0x6d56
push edi
call fcn.1000f8ae
mov dword [ebp - 0x14], ebx
jmp 0x1000b227
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x4c], 0xfa5f9c71
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1000b219
mov dword [ebp - 0x14], ebx
jmp 0x1000b242
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x160], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1000b231
mov dword [ebp - 0x14], ebx
jmp 0x1000b260
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xf4]
mov dword [eax + ecx*4], 0x904e20ee
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1000b24d
mov eax, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x100]
mov dword [eax], ecx
mov dword [ebp - 0x1c], 0xfffffffe
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setne dl
sub edx, dword [ebp - 0x4c]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x18], edx
xor edx, edx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x4c]
cmp ecx, eax
mov ecx, dword [ebp - 0x160]
setle dl
sub ecx, edx
xor edx, edx
mov dword [ebp - 0x158], ecx
mov eax, dword [ebp - 0x4c]
cmp ecx, eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x4c]
setne dl
imul ecx, edx
xor edx, edx
add eax, ecx
mov ecx, dword [ebp - 0x20]
imul ecx, eax
mov eax, dword [ebp - 0x34]
cmp ecx, eax
mov eax, dword [ebp - 0x74]
setle dl
xor ecx, ecx
mov dword [eax], edx
mov eax, dword [ebp - 0x24]
cmp edx, eax
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xf4]
setle cl
sub edx, ecx
xor ecx, ecx
mov dword [eax], edx
mov eax, dword [ebp - 0x4c]
cmp edx, eax
mov eax, dword [ebp - 0x4c]
setl cl
sub ecx, eax
je 0x1000b308
mov eax, dword [ebp - 0x74]
mov edx, edi
cmp dword [eax], ebx
jne 0x1000b30a
mov edx, ebx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x7c], ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xf4]
mov dword [eax], ecx
lea ecx, [ebp - 0xf4]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x18], edi
call fcn.1000f930
jmp 0x1000b357
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000b357
push ebx
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
mov eax, dword [ebp - 0x30]
dec dword [ebp - 0x30]
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0x74]
push 0
mov ecx, dword [edx]
cmp ecx, dword [eax]
pop eax
setge al
mov dword [edx], eax
test eax, eax
mov eax, edi
jne 0x1000b37a
mov eax, ebx
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x74]
sub ecx, dword [eax]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
setle dl
imul eax, edx, 0x4418
add eax, dword [ebp - 0x7c]
jne 0x1000b3b2
mov eax, ebx
cmp dword [ebp - 0x78], ebx
je 0x1000b3b4
mov eax, edi
mov dword [ebp - 0x2c], eax
xor edx, edx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xc8]
cmp ecx, dword [eax]
setge dl
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x74]
cmp ecx, dword [eax]
jge 0x1000b3e1
cmp dword [ebp - 0x1c], ebx
jne 0x1000b3e9
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x18], ebx
je 0x1000b3ec
mov dword [ebp - 0x2c], edi
mov eax, dword [ebp - 0x74]
xor ecx, ecx
push 0
mov edx, dword [eax]
cmp dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0xc8]
sete cl
cmp ecx, dword [eax]
pop eax
setge al
sub eax, edx
mov edx, dword [ebp - 0x24]
neg eax
sbb eax, eax
inc eax
sub edx, eax
mov eax, dword [ebp - 0x7c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x7c]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setle dl
sub edx, eax
jne 0x1000b43a
mov edx, ebx
cmp dword [ebp - 0x24], ebx
je 0x1000b43c
mov edx, edi
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xc8]
setge cl
xor edx, edx
cmp ecx, dword [eax + 4]
lea ecx, [ebp - 0xc8]
mov eax, dword [ebp - 0x74]
setne dl
neg edx
sub edx, 0xfffffff8
neg edx
sbb edx, edx
inc edx
mov dword [eax], edx
call fcn.1000f930
lea ecx, [ebp - 0x74]
call fcn.1000f930
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x100]
call fcn.1000f930
mov eax, dword [esi]
lea ecx, [ebp - 0xd8]
push 4
mov dword [ebp - 0x18], eax
call fcn.1000f8ae
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x1c], 0xfffffff9
mov dword [ebp - 0x2c], 0x76df7e44
mov dword [ebp - 0x1c], ebx
jmp 0x1000b4c4
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xd8]
mov dword [eax + ecx*4], 5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1000b4b1
mov eax, dword [ebp - 0xd8]
push 3
pop edx
mov eax, dword [eax]
add eax, 0x42c7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], ebx
jmp 0x1000b5b1
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x38], 0x2bfbd3ae
mov dword [ebp - 0x38], 0xf38d927f
mov dword [ebp - 0x14], ebx
jmp 0x1000b50e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd8]
mov dword [eax + ecx*4], 0x7b5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1000b4fb
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], ebx
jl 0x1000b594
push 4
lea ecx, [ebp - 0x114]
call fcn.1000f8ae
mov dword [ebp - 0x24], ebx
jmp 0x1000b541
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x114]
mov dword [eax + ecx*4], 0xa147b80b
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x1000b52e
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x34], edx
mov dword [edx + 0xc], ebx
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000b56a
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.GDI32.dll_ExtCreatePen]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd8]
cmp dword [eax + ecx*4], ebx
jne 0x1000b581
inc dword [edx + 0xc]
cmp dword [edx + 0xc], 3
jle 0x1000b553
lea ecx, [ebp - 0x114]
call fcn.1000f930
dec dword [ebp - 0x14]
jns 0x1000b51c
push 3
pop edx
mov dword [ebp - 0x14], ebx
jmp 0x1000b5a9
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x38], 0xd39c7c6f
inc dword [ebp - 0x2c]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jle 0x1000b599
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jle 0x1000b4e5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd8]
call fcn.1000f930
mov dword [ebp - 0x20], 0x68206240
mov dword [ebp - 0x24], 0xfffffffc
mov dword [ebp - 0x1c], ebx
jmp 0x1000b5ed
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xbc], 0x76df7e44
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1000b5dc
mov dword [ebp - 0x20], ebx
jmp 0x1000b623
mov dword [ebp - 0x1c], 0x71d976ff
mov dword [ebp - 0x1c], 0xffffffff
jmp 0x1000b61a
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000b617
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff8
jl 0x1000b607
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff7
jne 0x1000b5f7
mov dword [ebp - 0x20], 0x9ec4
cmp dword [ebp - 0x20], ebx
jne 0x1000b66f
cmp dword [ebp - 0x24], ebx
je 0x1000b65c
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setge dl
xor eax, eax
cmp edx, 0xeb59
mov edx, edi
setge al
imul eax, dword [ebp - 0x20]
test eax, eax
jne 0x1000b65e
mov edx, ebx
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
mov eax, ebx
setle cl
cmp ecx, dword [ebp - 0x24]
jg 0x1000b671
mov eax, edi
mov dword [ebp - 0xbc], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x40], 0x9869ec42
mov dword [ebp - 0x1c], 0x1e6e2bfb
mov dword [ebp - 0x50], 0x59008cf5
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x20], 0x6d39c7c6
mov dword [ebp - 0x54], 0xfffffffa
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x1c], 0xfc6088b9
mov dword [ebp - 0x24], 0x9968cb66
mov dword [ebp - 0x30], 0x37d660f1
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x1c], ebx
jmp 0x1000b6de
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x120], 0xfffffff9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1000b6cd
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
inc eax
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x1c]
jg 0x1000b705
mov eax, ebx
cmp dword [ebp - 0x1c], ebx
je 0x1000b707
mov eax, edi
add dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x11c]
jne 0x1000b71a
cmp dword [ebp - 0x50], ebx
je 0x1000b71f
cmp dword [ebp - 0x1c], ebx
jne 0x1000b726
mov edx, ebx
cmp dword [ebp - 0x2c], ebx
je 0x1000b728
mov edx, edi
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0x24]
jge 0x1000b73c
cmp dword [ebp - 0x34], ebx
jne 0x1000b741
cmp dword [ebp - 0x30], ebx
je 0x1000b748
mov eax, edi
cmp dword [ebp - 0x30], ebx
jne 0x1000b74a
mov eax, ebx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jne 0x1000b759
mov ecx, ebx
cmp dword [ebp - 0x20], ebx
je 0x1000b75b
mov ecx, edi
mov eax, dword [ebp - 0x40]
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setne cl
xor edx, edx
cmp ecx, 0xfb41
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setne cl
add ecx, 0x7bc7
mov dword [ebp - 0x34], ecx
xor ecx, ecx
cmp dword [ebp - 0x34], eax
setl cl
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x1c], 2
cmp dword [ebp - 0x1c], ebx
jl 0x1000b7c4
mov dword [ebp - 0x54], 0xffffffff
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000b7bf
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_Beep]
dec dword [ebp - 0x1c]
jns 0x1000b7a7
add esi, 8
mov dword [ebp - 0x24], 0xb9f9b319
push 3
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x14], ebx
pop ecx
jmp 0x1000b7ea
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x138], 0xacda2a4f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1000b7d9
mov dword [ebp - 0x14], ebx
jmp 0x1000b805
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa0], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1000b7f4
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], 0xfffffff6
jl 0x1000ba7f
push dword [ebp + 8]
movdqa xmm0, xmmword [0x10009210]
lea eax, [ebp - 0x19c]
push eax
lea eax, [ebp - 0x1ac]
mov dword [ebp - 0x20], 0xc6f1bf50
push eax
push ebx
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xb8], ebx
movdqu xmmword [ebp - 0x1ac], xmm0
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xb0], ebx
call fcn.10012444
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x34], 0x6f861669
mov dword [ebp - 0xe8], 0xffffffff
mov dword [ebp - 0x64], 0xb62e56c
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x44], 0xafca19ab
push 3
call fcn.1000f8ae
mov dword [ebp - 0x50], 0xc7da
mov dword [ebp - 0x30], ebx
push 3
mov dword [ebp - 0x64], 0x2bf4
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x1000b8c1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1d4], 0x8187147d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1000b8b0
mov dword [ebp - 0x14], ebx
jmp 0x1000b8da
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x144]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1000b8cb
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 0xfffffffc
jge 0x1000b994
mov esi, dword [ebp - 0xb8]
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x68], 0xbd55fd0a
mov dword [ebp - 0x14], 0x413e458c
mov dword [ebp - 0x2c], 0x9eb11de2
mov dword [ebp - 0x68], 0x85ffff3
cmp dword [esi + 8], ebx
jne 0x1000b994
cmp dword [ebp - 0x1c], ebx
jne 0x1000b96a
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
setg dl
xor ecx, ecx
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
cmp eax, 0xfffffffd
setl cl
xor eax, eax
cmp ecx, 0xffffffff
setne al
imul eax, dword [ebp - 0x1c]
add eax, dword [esi + 8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x20], ebx
jne 0x1000b97b
mov eax, dword [ebp - 0x138]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
add eax, 4
mov dword [ebp - 0x68], eax
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffffc
jl 0x1000b8f2
mov eax, dword [ebp - 0x50]
imul eax, dword [ebp - 0x44]
test eax, eax
je 0x1000b9ad
cmp dword [ebp - 0x1d4], ebx
je 0x1000b9ad
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x50]
xor edx, edx
mov eax, dword [ebp - 0x9c]
cmp ecx, eax
mov eax, dword [ebp - 0x64]
setge dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
cmp ecx, 0xc7d0b67
setl dl
xor ecx, ecx
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0xa0]
cmp eax, edx
mov eax, dword [ebp - 0x30]
setle cl
inc dword [ebp - 0x30]
cmp eax, ecx
je 0x1000b9f9
mov eax, ebx
cmp dword [ebp - 0xe8], ebx
je 0x1000b9fb
mov eax, edi
xor ecx, ecx
cmp eax, 0xfffffff9
mov eax, dword [ebp - 0x144]
setg cl
sub ecx, dword [eax + 4]
cmp ecx, dword [ebp - 0x20]
jne 0x1000ba14
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x9c]
xor edx, edx
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x30]
cmp eax, dword [ecx + 8]
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x9c]
setge dl
add ecx, edx
xor edx, edx
cmp ecx, eax
lea ecx, [ebp - 0x144]
setne dl
mov dword [ebp - 0x64], edx
call fcn.1000f930
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb8]
call fcn.1000f930
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff6
jge 0x1000b817
mov esi, dword [ebp - 0x54]
cmp dword [ebp - 0x38], 0
jne 0x1000bb5d
cmp byte [ebp - 0x3c], 0
je 0x1000baa0
cmp dword [ebp - 0x58], edi
jne 0x1000baa0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x18]
add eax, 0x10
add dword [ecx + 8], eax
mov eax, dword [esi]
push dword [ebp - 0x18]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x38], eax
call fcn.1004ea2e
pop ecx
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0xac]
lea eax, [ebp - 0xcc]
mov dword [ebp - 0xcc], ebx
push eax
push dword [ebp - 0x18]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
call fcn.1001006d
mov eax, dword [ebp - 0x18]
mov edx, ebx
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0x40], ebx
test eax, eax
jle 0x1000bb45
mov eax, edx
and eax, 0x80000001
jns 0x1000bb04
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x34]
add eax, edx
add eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x38]
jmp 0x1000bb19
lea eax, [edx + 1]
cdq
idiv dword [ebp - 0x18]
cmp word [ecx + edx*2], bx
jne 0x1000bb16
mov word [ecx + edx*2], di
mov al, byte [edx + esi + 8]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
mov byte [edx + ecx], al
inc edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0x40], edx
cmp edx, eax
jl 0x1000baf6
mov esi, dword [ebp + 8]
mov dword [esi], eax
mov eax, dword [ebp - 0x44]
mov dword [esi + 4], eax
test ecx, ecx
je 0x1000bb60
push ecx
call fcn.10053b4a
pop ecx
jmp 0x1000bb60
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret