Function at 0x1000d775
Capabilities:
Accept command line arguments
Allocate thread local storage
Authenticate hmac
Create pipe
Encrypt data using speck
Extract resource via kernel32 functions
Get disk size
Query or enumerate registry value
Query service status
Terminate process

Disassembly:
mov eax, 0x1005f139
call fcn.1005eaf8
sub esp, 0x940
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
push 3
pop edi
mov dword [ebp - 0x100], ecx
lea ecx, [ebp - 0x4c4]
push edi
mov byte [ebp - 0x64], dl
call fcn.1001ab0d
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
jmp 0x1000d7bd
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x4c4]
mov dword [eax + ecx*4], 0xb110c93b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1000d7aa
xor ecx, ecx
mov dword [ebp - 0x1c], ebx
inc ecx
jmp 0x1000d7db
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x618], 0xbb4ebb0c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1000d7ca
mov eax, dword [ebp - 0x4c4]
lea ecx, [ebp - 0x4c4]
mov dword [eax + 4], 0xfffffff4
call fcn.1001ab8f
push edi
lea ecx, [ebp - 0x3c8]
call fcn.1001ab0d
mov dword [ebp - 0x1c], ebx
jmp 0x1000d81c
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c8]
mov dword [eax + ecx*4], 0xb110c93b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1000d809
xor esi, esi
mov dword [ebp - 0x1c], ebx
inc esi
jmp 0x1000d83a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x5b8], 0xbb4ebb0c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1000d829
mov eax, dword [ebp - 0x3c8]
lea ecx, [ebp - 0x3c8]
mov dword [eax + 4], 0xfffffff4
call fcn.1001ab8f
push edi
lea ecx, [ebp - 0x30c]
call fcn.1001ab0d
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x1c], ebx
jmp 0x1000d882
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30c]
mov dword [eax + ecx*4], 0xc93b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1000d86f
mov dword [ebp - 0x1c], ebx
jmp 0x1000d89d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x550], 0xed3c15d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1000d88c
mov dword [ebp - 0x2c], ebx
jmp 0x1000d8e3
mov dword [ebp - 0x14], ebx
jmp 0x1000d8be
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1fc], 0xbb4ebb0c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1000d8ad
mov dword [ebp - 0x1fc], 0xefc07e17
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], bl
je 0x1000d8e0
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 2
jle 0x1000d8a8
mov edx, dword [ebp - 0x30c]
xor ecx, ecx
mov eax, dword [edx + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp dword [edx + 4], eax
mov eax, dword [ebp - 0x30c]
sete cl
xor edx, edx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x30c]
setne dl
neg edx
mov dword [ebp - 0x550], edx
call fcn.1001ab8f
lea ecx, [ebp - 0x6f0]
xorps xmm0, xmm0
push ecx
lea eax, [ebp - 0x6e0]
push eax
push ecx
lea ecx, [ebp - 0x560]
movdqu xmmword [ebp - 0x6f0], xmm0
call fcn.1001ab69
mov dword [ebp - 0x38], 0x5c8094a1
or eax, 0xffffffff
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], 0x648bd921
mov dword [ebp - 0x38], edi
cmp dword [ebp - 0x38], ebx
jl 0x1000d9d0
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x40], 0x23607a98
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x40], 2
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], edi
jg 0x1000d9cb
mov dword [ebp - 0x44], 0x13034d00
mov dword [ebp - 0x40], 0x4b03e386
mov dword [ebp - 0x40], 0xbb00868b
mov dword [ebp - 0x40], 0xdcef989b
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x44], ebx
jmp 0x1000d9b7
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x560]
mov dword [eax + ecx*4], 0x3e93
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 4
jl 0x1000d9a4
dec dword [ebp - 0x3c]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x1000d980
or eax, 0xffffffff
dec dword [ebp - 0x38]
jns 0x1000d961
lea ecx, [ebp - 0x560]
call fcn.1001ab8f
mov dword [ebp - 0x44], 0xfffffff7
mov dword [ebp - 0x1c], ebx
jmp 0x1000d9f8
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xb8], 0xa6318529
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1000d9e7
xor ecx, ecx
mov dword [ebp - 0x1c], ebx
inc ecx
jmp 0x1000da17
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x21c], 4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1000da06
mov dword [ebp - 0x1c], ebx
jmp 0x1000da32
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x338], 0xb2fa
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1000da21
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], bl
je 0x1000da59
push 0x1937
push 0x2493
push ebx
push 0xe55
call dword [sym.imp.USER32.dll_CreateCaret]
xor ecx, ecx
inc ecx
mov dword [ebp - 0xb8], ebx
jmp 0x1000db37
mov dword [ebp - 0x2c], 0xb3e90a62
mov dword [ebp - 0x34], 9
mov dword [ebp - 0x3c], 0xca779041
mov dword [ebp - 0x48], 0xf30b
mov dword [ebp - 0x14], ebx
jmp 0x1000da92
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5f0], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1000da85
mov dword [ebp - 0x2c], ebx
jmp 0x1000daa3
inc dword [ebp - 0x44]
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffe2
jne 0x1000da9d
cmp dword [ebp - 0x2c], ebx
je 0x1000dab5
mov edx, ecx
cmp dword [ebp - 0x34], ebx
jne 0x1000dab7
mov edx, ebx
mov dword [ebp - 0x3c], ebx
mov ecx, 0xffff68bc
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x48]
sub ecx, eax
add ecx, dword [ebp - 0x21c]
xor eax, eax
cmp ecx, 0x6af9031e
setge al
cmp eax, 5
jl 0x1000daf6
cmp dword [ebp - 0x44], ebx
je 0x1000daf6
xor eax, eax
inc eax
jmp 0x1000daf8
mov eax, ebx
imul eax, eax, 0xbe58
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x5ec]
sub edx, eax
mov eax, dword [ebp - 0x338]
cmp edx, eax
setne cl
cmp ecx, 0xffffffff
jne 0x1000db29
cmp dword [ebp - 0x338], ebx
jne 0x1000db29
xor ecx, ecx
mov eax, ebx
inc ecx
jmp 0x1000db2e
xor ecx, ecx
inc ecx
mov eax, ecx
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0xb8]
cmp dword [ebp - 0xb8], 0xfffffff9
jge 0x1000da64
push edi
lea ecx, [ebp - 0x404]
call fcn.1001ab0d
mov dword [ebp - 4], ebx
mov dword [ebp - 0x2c], 0xc75b57fd
mov dword [ebp - 0x34], 0xeec80f21
mov dword [ebp - 0x40], 0x8fb8
mov dword [ebp - 0x2c], 0xa
jmp 0x1000dc0c
mov dword [ebp - 0x22c], 0x7c8a6b95
xor edx, edx
mov dword [ebp - 0x228], 0x7c8a6b95
inc edx
mov dword [ebp - 0x224], 0x7c8a6b95
mov dword [ebp - 0x220], 0x7c8a6b95
mov dword [ebp - 0x220], edx
cmp dword [ebp - 0x2c], ebx
je 0x1000dbb6
mov eax, dword [ebp - 0x2c]
mov ecx, edx
sub eax, 0x6fe835b2
jne 0x1000dbb8
mov ecx, ebx
mov eax, dword [ebp - 0x220]
imul eax, ecx
neg eax
sbb eax, eax
neg eax
neg eax
mov dword [ebp - 0x220], eax
je 0x1000dbdb
mov esi, edx
cmp dword [ebp - 0x220], ebx
jne 0x1000dbdd
mov esi, ebx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, 0x8abc
push 0xfffffffffffffffa
setne cl
xor eax, eax
pop edx
sub edx, ecx
cmp esi, 0x1f3403ca
setle al
sub edx, eax
neg edx
sbb edx, edx
add edx, 0x9c58b522
mov dword [ebp - 0x34], edx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x18
jg 0x1000db74
push 1
lea ecx, [ebp - 0xd8]
call fcn.1001ab0d
xor edx, edx
inc edx
mov byte [ebp - 4], dl
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x14], ebx
jmp 0x1000dc41
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd8]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1000dc31
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x1000dcd7
mov dword [ebp - 0x44], 0xf84b8114
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xd8]
cmp dword [eax + ecx*4], ebx
jne 0x1000dcd7
mov dword [ebp - 0x44], ebx
jmp 0x1000dcc9
push 2
lea ecx, [ebp - 0x3a4]
call fcn.1001ab0d
mov dword [ebp - 0x14], ebx
jmp 0x1000dc91
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3a4]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1000dc7e
mov esi, dword [ebp - 0x3a4]
mov dword [esi + 4], ebx
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0xd8]
mov edx, dword [esi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
inc dword [esi + 4]
cmp dword [esi + 4], 0
jle 0x1000dca0
lea ecx, [ebp - 0x3a4]
call fcn.1001ab8f
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], ebx
jle 0x1000dc6c
dec dword [ebp - 0x1c]
jns 0x1000dc52
xor edi, edi
mov dword [ebp - 0x1c], ebx
inc edi
cmp dword [ebp - 0x1c], ebx
jl 0x1000ddd7
mov dword [ebp - 0x2c], 0xfffffffc
mov dword [ebp - 0x14], 0x62d50c85
mov dword [ebp - 0x14], ebx
jmp 0x1000dd0a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x70c], 0xfff9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1000dcf9
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xd8]
cmp dword [eax + ecx*4], ebx
jne 0x1000dd99
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax]
sub edx, dword [eax + ecx*4]
neg edx
sbb edx, edx
add edx, 0x2a01507b
neg edx
sbb edx, edx
inc edx
cmp edx, dword [ebp - 0x1c]
je 0x1000dd50
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xd8]
cmp dword [ecx + eax*4], ebx
jne 0x1000dd56
jmp 0x1000dd58
mov ecx, dword [ebp - 0xd8]
mov ebx, edi
xor eax, eax
cmp ebx, 5
setg al
xor ebx, ebx
cmp eax, dword [ecx]
setne bl
xor ecx, ecx
mov dword [ebp - 0x70c], ebx
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xd8]
cmp dword [edx], ecx
sete cl
xor eax, eax
cmp ecx, ebx
setg al
xor ebx, ebx
add eax, dword [edx + esi*4]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x1c]
mov eax, ebx
je 0x1000dd9b
mov eax, edi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x2c], ebx
jmp 0x1000ddc9
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x1000ddc6
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1000ddc1
push ebx
push edi
push 0x8c7
call dword [sym.imp.KERNEL32.dll_OpenFileMappingA]
dec dword [ebp - 0x14]
jns 0x1000ddab
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jle 0x1000dda3
dec dword [ebp - 0x1c]
jns 0x1000dce6
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], bl
call fcn.1001ab8f
push 3
mov dword [ebp - 0x1c], ebx
pop esi
jmp 0x1000de00
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x404]
mov dword [eax + ecx*4], 0xb110c93b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1000dded
mov dword [ebp - 0x44], 0xffffffff
lea ecx, [ebp - 0x138]
push esi
call fcn.1001ab0d
mov byte [ebp - 4], 2
mov dword [ebp - 0x3c], 0xfffffff6
mov dword [ebp - 0x40], 5
mov dword [ebp - 0x14], ebx
jmp 0x1000de42
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x138]
mov dword [eax + ecx*4], 0x4571
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1000de2f
mov dword [ebp - 0x44], ebx
cmp dword [ebp - 0x44], 0xffffffea
jle 0x1000df93
mov esi, dword [ebp - 0x138]
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x20], 0xfffffff9
lea ecx, [ebp - 0x2ac]
push 3
call fcn.1001ab0d
mov dword [ebp - 0x1c], ebx
jmp 0x1000de89
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2ac]
mov dword [eax + ecx*4], 0xa4b38b4b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1000de76
mov dword [ebp - 0x1c], ebx
jmp 0x1000dea2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x74], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1000de94
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], ebx
jl 0x1000df2d
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 2
cmp dword [ebp - 0x2c], ebx
jl 0x1000df22
mov edi, dword [ebp - 0x138]
mov dword [ebp - 0x34], 0xe356ec7e
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x2c]
imul edx, dword [edi + 8]
mov eax, dword [ebp - 0x138]
sub edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
cmp edx, eax
mov eax, dword [ebp - 0x138]
setg cl
mov eax, dword [eax + esi*4]
add eax, 8
add eax, ecx
jne 0x1000df11
cmp dword [ebp - 0x20], ebx
jne 0x1000df11
mov eax, ebx
jmp 0x1000df14
xor eax, eax
inc eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x34], eax
dec dword [ebp - 0x2c]
jns 0x1000dec8
dec dword [ebp - 0x20]
jns 0x1000deb3
mov esi, dword [ebp - 0x4c]
xor edi, edi
inc edi
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x138]
cmp dword [eax], ebx
je 0x1000df47
mov eax, dword [ebp - 0x2ac]
mov edx, edi
cmp dword [eax + 4], ebx
jne 0x1000df49
mov edx, ebx
mov eax, dword [ebp - 0x74]
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, 0xfffffffa
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, dword [esi + 4]
jg 0x1000df63
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x2ac]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x2ac]
mov dword [eax + 4], edi
mov eax, dword [ebp - 0x74]
mov eax, dword [esi + 4]
mov dword [ebp - 0x74], eax
call fcn.1001ab8f
dec dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xffffffea
jg 0x1000de5d
lea ecx, [ebp - 0x138]
call fcn.1001ab8f
xor ecx, ecx
mov dword [ebp - 0x1c], ebx
inc ecx
jmp 0x1000dfb7
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x5c8], 0xbb4ebb0c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1000dfa6
or edi, 0xffffffff
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x20], 0x53494abc
mov dword [ebp - 0x3c], 0xdb756fd8
mov dword [ebp - 0x54], 0x6552ded1
mov dword [ebp - 0x14], ebx
jmp 0x1000dff0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x554], 0x444c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1000dfdf
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
neg ecx
cmp ecx, eax
setl dl
add edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x28]
je 0x1000e01e
cmp dword [ebp - 0x28], ebx
je 0x1000e01e
xor esi, esi
inc esi
mov ebx, esi
jmp 0x1000e021
xor esi, esi
inc esi
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x1c]
setge cl
xor edx, edx
test ecx, ecx
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setle cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x28]
setg dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setl bl
xor ecx, ecx
cmp ebx, eax
setne cl
xor ebx, ebx
cmp ecx, dword [ebp - 0x20]
jge 0x1000e068
mov ecx, ebx
cmp dword [ebp - 0x28], ebx
je 0x1000e06a
mov ecx, esi
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
sete dl
xor ecx, ecx
cmp edx, eax
setl cl
xor edx, edx
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setge dl
xor ecx, ecx
cmp edx, 0x90707e2
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x1c], 0x42e5f0e7
cmp dword [ebp - 0x1c], ebx
je 0x1000e11e
mov dword [ebp - 0x524], ebx
mov dword [ebp - 0x520], ebx
mov dword [ebp - 0x51c], ebx
mov dword [ebp - 0x518], ebx
mov dword [ebp - 0x40], 0xe74bb9ce
mov dword [ebp - 0x1c], ebx
jmp 0x1000e116
mov dword [ebp - 0x3c], 3
mov dword [ebp - 0x28], 3
cmp dword [ebp - 0x28], ebx
jl 0x1000e0fb
inc dword [ebp - 0x3c]
dec dword [ebp - 0x28]
jns 0x1000e0f3
mov dword [ebp - 0x54], ebx
jmp 0x1000e10d
mov eax, dword [ebp - 0x54]
mov dword [ebp + eax*4 - 0x524], ebx
inc dword [ebp - 0x54]
cmp dword [ebp - 0x54], 4
jl 0x1000e100
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1c
je 0x1000e0e0
jmp 0x1000e159
mov dword [ebp - 0x20], ebx
jmp 0x1000e154
mov dword [ebp - 0x54], ebx
cmp dword [ebp - 0x54], ebx
jl 0x1000e151
mov dword [ebp - 0x1c], ebx
jmp 0x1000e147
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1000e144
push 0x2359
call dword [sym.imp.KERNEL32.dll_SetLastError]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x1000e130
dec dword [ebp - 0x54]
jns 0x1000e12b
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x1000e123
mov eax, dword [ebp - 0x404]
lea ecx, [ebp - 0x404]
mov dword [ebp - 4], edi
mov dword [eax + 4], 0xfffffff4
call fcn.1001ab8f
mov dword [ebp - 0x40], 0x33a4
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1000e18b
push ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1000e19f
push 0x1d5d
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
push 3
lea ecx, [ebp - 0x2f4]
call fcn.1001ab0d
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x20], ebx
jmp 0x1000e1cb
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2f4]
mov dword [eax + ecx*4], 0xc93b
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x1000e1b8
mov dword [ebp - 0x20], ebx
jmp 0x1000e1e7
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x548], 0xed3c15d
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x1000e1d6
mov dword [ebp - 0x2c], ebx
jmp 0x1000e22e
mov dword [ebp - 0x14], ebx
jmp 0x1000e208
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1b8], 0xbb4ebb0c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1000e1f7
mov dword [ebp - 0x1b8], 0xefc07e17
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1000e22b
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 2
jle 0x1000e1f2
mov edx, dword [ebp - 0x2f4]
xor ecx, ecx
mov eax, dword [edx + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp dword [edx + 4], eax
mov eax, dword [ebp - 0x2f4]
sete cl
xor edx, edx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x2f4]
setne dl
neg edx
mov dword [ebp - 0x548], edx
call fcn.1001ab8f
mov dword [ebp - 0x40], 6
xor eax, eax
mov dword [ebp - 0x34], 0xb7c7ce53
inc eax
mov dword [ebp - 0x40], 0xfffffffd
mov dword [ebp - 0x40], 9
mov dword [ebp - 0x40], 7
mov dword [ebp - 0x40], 0xd3c891c5
mov dword [ebp - 0x40], 0xfffffff6
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x3c], 0x7c1188e1
dec dword [ebp - 0x3c]
mov dword [ebp - 0x34], 9
mov dword [ebp - 0x40], 0x33a4
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1000e2dc
push ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1000e2f0
push 0x1d5d
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [ebp - 0x2c], 0x8876
xor esi, esi
mov dword [ebp - 0x44], 8
inc esi
mov dword [ebp - 0x30], 0x63588c55
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], 0xe0c23782
mov dword [ebp - 0x3c], 0x73d4c46
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x14], ebx
jmp 0x1000e33b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x350], 0x88216928
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1000e32a
imul eax, dword [ebp - 0x2c], 0x4e58
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
add eax, 0x469209a4
je 0x1000e358
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
xor edx, edx
cmp eax, esi
mov eax, dword [ebp - 0x38]
setge dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x38], ecx
xor ecx, ecx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x350], edx
mov eax, dword [ebp - 0x30]
cmp eax, edx
setle cl
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x350]
mov edx, dword [ebp - 0x30]
add eax, 7
imul edx, eax
sub edx, dword [ebp - 0x2c]
sub edx, 6
sub edx, dword [ebp - 0x2c]
neg edx
sbb edx, edx
add edx, 0xffffcf6a
neg edx
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x30]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, 6
setge cl
xor edx, edx
add ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
setl dl
sub edx, 0x262
imul edx, dword [ebp - 0x34]
mov dword [ebp - 0x3c], edx
xor edx, edx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
setle dl
mov dword [ebp - 0x4c], edx
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1000e414
push ebx
call dword [sym.imp.KERNEL32.dll_LockResource]
push 2
lea ecx, [ebp - 0x114]
call fcn.1001ab0d
lea ecx, [ebp - 0x6c0]
mov dword [ebp - 4], 3
movdqa xmm0, xmmword [0x1000c2a0]
lea eax, [ebp - 0x6b0]
push ecx
push eax
push ecx
mov dword [ebp - 0x28], esi
lea ecx, [ebp - 0x608]
mov dword [ebp - 0x3c], esi
movdqu xmmword [ebp - 0x6c0], xmm0
call fcn.1001ab69
mov dword [ebp - 0x504], ebx
mov dword [ebp - 0x500], ebx
mov dword [ebp - 0x4fc], ebx
mov dword [ebp - 0x4f8], ebx
mov dword [ebp - 0x14], ebx
jmp 0x1000e484
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x114]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1000e475
xor ecx, ecx
mov dword [ebp - 0x28], ebx
inc ecx
jmp 0x1000e5c5
mov dword [ebp - 0x2c], 0xf2000252
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x14], ebx
jmp 0x1000e4b9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x248], 0x94e8fe75
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1000e4a8
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], ebx
jl 0x1000e5c2
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
jl 0x1000e598
mov esi, dword [ebp - 0x608]
mov ecx, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x114]
cmp dword [eax + ecx*4], 0xd177cce4
mov eax, dword [ebp - 0x20]
sete dl
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, dword [ebp - 0x2c]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
sub eax, 0x18d3cb34
je 0x1000e526
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x114]
cmp dword [eax + ecx*4], ebx
je 0x1000e526
xor ecx, ecx
inc ecx
jmp 0x1000e528
mov ecx, ebx
mov eax, dword [ebp - 0x2c]
sub ecx, eax
jne 0x1000e532
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x114]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x248], edx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x114]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
add eax, edx
cmp eax, 4
mov eax, dword [ebp - 0x20]
setge cl
mov dword [esi + 4], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x114]
mov eax, dword [eax + ecx*4]
cmp eax, dword [esi + 4]
jne 0x1000e586
cmp dword [ebp - 0x28], ebx
jne 0x1000e586
mov eax, ebx
jmp 0x1000e589
xor eax, eax
inc eax
mov dword [ebp - 0x4f8], eax
dec dword [ebp - 0x20]
jns 0x1000e4df
mov dword [ebp - 0x1c], ebx
jmp 0x1000e5b0
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1000e5ad
push ebx
call dword [sym.imp.KERNEL32.dll_ClearCommBreak]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xa
je 0x1000e59d
dec dword [ebp - 0x2c]
push 1
pop ecx
jns 0x1000e4ca
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jle 0x1000e495
lea ecx, [ebp - 0x608]
call fcn.1001ab8f
lea ecx, [ebp - 0x114]
mov dword [ebp - 4], edi
call fcn.1001ab8f
push 3
lea ecx, [ebp - 0x2c4]
call fcn.1001ab0d
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x570]
xor esi, esi
mov dword [ebp - 0x38], 0xfffffff7
inc esi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x40], 0xe294b58f
push esi
call fcn.1001ab0d
mov dword [ebp - 0x48], 0xa4b1f059
mov dword [ebp - 0x1c], ebx
jmp 0x1000e637
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x120], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1000e62a
push 2
mov dword [ebp - 0x1c], ebx
pop edx
jmp 0x1000e656
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x598], 0x9b03be46
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1000e645
mov dword [ebp - 0x1c], ebx
jmp 0x1000e66f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x570]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1000e660
mov dword [ebp - 0x20], ebx
jmp 0x1000e79c
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x14], ebx
jmp 0x1000e695
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x748], 0x611fb8eb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1000e684
mov dword [ebp - 0x1c], ebx
jmp 0x1000e787
mov dword [ebp - 0x8c], 0xfffffff8
mov dword [ebp - 0x88], 0xfffffff8
mov dword [ebp - 0x84], 0xfffffff8
mov dword [ebp - 0x80], 0xfffffff8
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1000e6e7
push ebx
push 0x2679
push 0x2519
push 0x172
call dword [sym.imp.GDI32.dll_GetCharWidth32A]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x120], ebx
jne 0x1000e6f6
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x120]
mov edx, dword [ebp - 0x1c]
sub edx, eax
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x118]
setg cl
sub ecx, eax
cmp ecx, dword [ebp - 0x1c]
jle 0x1000e724
cmp dword [ebp - 0x1c], edx
jle 0x1000e6a3
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x598], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jle 0x1000e67c
mov dword [ebp - 0x20], 8
jmp 0x1000e7b4
cmp dword [ebp - 0x20], 0x1c
jge 0x1000e7ae