Function at 0x401000
Capabilities:
Encode data using xor
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x264
mov eax, 0x127
mov word [ebp - 0x7c], ax
mov dword [ebp - 0x11c], 0x95fa
movsx ecx, word [ebp - 0x7c]
mov dword [ebp - 0x228], ecx
cmp dword [ebp - 0x228], 0x11e
je 0x401040
cmp dword [ebp - 0x228], 0x2ad
je 0x401080
jmp 0x40109f
mov edx, dword [ebp - 0x11c]
add edx, 0x82e
mov dword [ebp - 0x11c], edx
movsx eax, word [ebp - 0x7c]
sub eax, 0x4ae
mov word [ebp - 0x7c], ax
movsx ecx, word [ebp - 0x7c]
and ecx, 0x474
mov word [ebp - 0x7c], cx
push 0xffffffffffffff94
movzx edx, word [ebp - 0x7c]
push edx
push 0x25
call fcn.00402eb0
add esp, 0xc
jmp 0x40109f
movsx eax, word [ebp - 0x7c]
sar eax, 6
mov word [ebp - 0x7c], ax
mov ecx, dword [ebp - 0x11c]
shl ecx, 0x17
mov dword [ebp - 0x11c], ecx
call fcn.00403450
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x20c], edx
mov eax, dword [ebp - 0x11c]
or eax, 0xd38b
cmp eax, dword [ebp - 0x20c]
je 0x402e3b
movsx ecx, word [ebp - 0x7c]
cmp ecx, 0x2bc
jge 0x402e2a
mov dword [ebp - 0x130], 0x63f1
mov edx, dword [ebp - 0x20c]
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
and ecx, 0x6fff
cmp ecx, dword [ebp - 0x130]
jg 0x40118c
mov edx, 0x206
mov word [ebp - 0x84], dx
movsx eax, byte [section..data]
imul eax, eax, 0x54
mov byte [section..data], al
mov ecx, dword [ebp - 0x20c]
sub ecx, dword [ebp - 0x208]
mov dword [ebp - 0x11c], ecx
movsx edx, byte [section..data]
cmp edx, 0x1c
jne 0x401187
movsx eax, word [ebp - 0x7c]
add eax, 0x2ce
mov word [ebp - 0x7c], ax
mov ecx, dword [ebp - 0x11c]
sub ecx, dword [ebp - 0x208]
mov dword [ebp - 0x20c], ecx
movzx edx, byte [section..data]
push edx
movzx eax, word [ebp - 0x84]
push eax
movzx ecx, word [ebp - 0x84]
push ecx
mov edx, dword [ebp - 0x84]
mov cl, byte [section..data]
call fcn.00404530
jmp 0x401224
movzx edx, word [ebp - 0x84]
add edx, 0x7ff
mov word [ebp - 0x84], dx
movsx eax, byte [section..data]
xor eax, 0x77
mov byte [section..data], al
mov edx, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x20c]
shr edx, cl
mov dword [ebp - 0x11c], edx
mov al, byte [section..data]
mov byte [ebp - 0x22c], al
cmp byte [ebp - 0x22c], 0x4f
je 0x4011e2
cmp byte [ebp - 0x22c], 0x67
je 0x401212
jmp 0x401224
movzx ecx, word [ebp - 0x84]
or ecx, 0x1e0
mov word [ebp - 0x84], cx
mov edx, dword [ebp - 0x24]
shl edx, 0x18
mov dword [ebp - 0x130], edx
mov eax, dword [ebp - 0x24]
push eax
push 0xdf
call fcn.004053c0
jmp 0x401224
mov ecx, dword [ebp - 0x20c]
and ecx, dword [ebp - 0x208]
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x10c], 0xed5
push 0
push 0
call dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x80], edx
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x70], 0x24cc
mov cx, word [ebp - 0x84]
mov word [0x416c60], cx
mov edx, dword [ebp - 0x80]
imul edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x24]
cmp edx, eax
jg 0x40127f
lea ecx, [ebp - 0xf0]
push ecx
call dword [sym.imp.COMDLG32.dll_PageSetupDlgW]
mov dword [ebp - 0x5c], eax
jmp 0x4012a2
mov dx, word [0x416c60]
mov word [ebp - 0x214], dx
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x224], eax
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp - 0x130]
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x80], edx
lea eax, [ebp - 0x214]
mov dword [ebp - 8], eax
mov dword [ebp - 0x1fc], 0xd44d
mov byte [ebp - 0x1fe], 0x21
cmp dword [ebp - 0x1fc], 0xd961
ja 0x401482
mov ecx, dword [ebp - 0x208]
add ecx, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x8c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x18]
and eax, dword [ebp - 0x130]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x80]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x20c]
sub edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x8c]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x1fe]
add ecx, 0x43
mov byte [ebp - 0x1fe], cl
movzx edx, word [ebp - 0x84]
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x214], dx
mov edx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x24]
sar edx, cl
mov dword [ebp - 0x80], edx
movsx eax, word [ebp - 0x7c]
xor eax, 0x705
mov ecx, dword [ebp - 0x224]
mov word [ecx], ax
mov edx, dword [ebp - 0x1fc]
add edx, 0x34
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x11c]
shl eax, cl
mov dword [ebp - 0x208], eax
movzx ecx, word [ebp - 0x84]
movzx edx, word [ebp - 0x214]
or ecx, edx
mov word [0x416c60], cx
movsx eax, word [ebp - 0x7c]
and eax, 0xbd
mov ecx, dword [ebp - 0x224]
mov word [ecx], ax
mov edx, dword [ebp - 0x224]
movsx eax, word [edx]
add eax, 0x22d
mov word [ebp - 0x7c], ax
movsx ecx, word [ebp - 0x7c]
sub ecx, 0xbf
mov edx, dword [ebp - 0x224]
mov word [edx], cx
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
movzx edx, word [0x416c60]
add ecx, edx
mov eax, dword [ebp - 8]
mov word [eax], cx
movsx ecx, word [ebp - 0x7c]
sub ecx, 0x7de
mov edx, dword [ebp - 0x224]
mov word [edx], cx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x208]
add ecx, dword [eax]
mov dword [ebp - 0x11c], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov dword [ebp - 0x1c], eax
movsx edx, word [ebp - 0x7c]
and edx, 0x28e
mov eax, dword [ebp - 0x224]
mov word [eax], dx
mov ecx, dword [ebp - 8]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x214]
sub edx, eax
mov word [ebp - 0x84], dx
movsx ecx, byte [section..data]
sub ecx, 0x2c
mov byte [section..data], cl
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x20c]
add eax, dword [edx]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x24]
or ecx, dword [ebp - 0x18]
mov dword [ebp - 0x80], ecx
movzx edx, word [ebp - 0x214]
movzx ecx, word [ebp - 0x84]
shl edx, cl
mov eax, dword [ebp - 8]
mov word [eax], dx
jmp 0x4012c8
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx]
mov dword [ebp - 0x94], edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
cmp dword [ebp - 0x10c], 0x1f32
je 0x401594
movzx eax, word [ebp - 0x214]
movzx ecx, word [ebp - 0x84]
xor eax, ecx
mov edx, dword [ebp - 8]
mov word [edx], ax
movzx eax, byte [ebp - 0x1fe]
sar eax, 6
mov byte [ebp - 0x1fe], al
mov ecx, dword [ebp - 0x10c]
add ecx, 0x47
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp - 0x24]
and edx, dword [ebp - 0x80]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x130]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x80], eax
movsx ecx, word [ebp - 0x7c]
add ecx, 0x5f
mov edx, dword [ebp - 0x224]
mov word [edx], cx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x8c]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x1fe]
sub eax, 0xf1
mov byte [ebp - 0x1fe], al
mov ecx, dword [ebp - 8]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x84]
add edx, eax
mov ecx, dword [ebp - 8]
mov word [ecx], dx
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x11c]
mov dword [ebp - 0x208], eax
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx]
and edx, dword [ebp - 0x208]
mov eax, dword [ebp - 0x8c]
mov dword [eax], edx
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x84]
add ecx, edx
mov eax, dword [ebp - 8]
mov word [eax], cx
mov edx, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x18]
shl edx, cl
mov dword [ebp - 0x130], edx
jmp 0x40149a
lea eax, [ebp - 0x24]
mov dword [ebp - 0x6c], eax
mov dword [0x416c68], 0x411000
mov dword [ebp - 0x114], 0x10564
mov cl, byte [section..data]
mov byte [ebp - 0x230], cl
cmp byte [ebp - 0x230], 0x88
je 0x4015d5
cmp byte [ebp - 0x230], 0x43
je 0x402d26
jmp 0x402dda
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x208]
add eax, dword [edx]
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x138], ecx
mov edx, dword [0x416c68]
movsx eax, byte [edx]
and eax, 0x12
movsx ecx, byte [section..data]
cmp eax, ecx
jg 0x401638
mov edx, dword [0x416c68]
movzx eax, byte [edx]
push eax
mov ecx, dword [ebp - 8]
movzx edx, word [ecx]
push edx
movzx eax, word [0x416c60]
push eax
mov ecx, dword [ebp - 8]
mov dx, word [ecx]
mov cl, byte [section..data]
call fcn.00404530
jmp 0x4016ca
mov edx, dword [ebp - 8]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x84]
or eax, ecx
movzx edx, word [ebp - 0x214]
movzx ecx, word [0x416c60]
shl edx, cl
cmp eax, edx
jg 0x4016ca
mov al, byte [section..data]
mov byte [ebp - 0x234], al
cmp byte [ebp - 0x234], 0x6d
je 0x401671
jmp 0x401689
movzx edx, word [ebp - 0x214]
movzx ecx, word [ebp - 0x84]
sar edx, cl
mov eax, dword [ebp - 8]
mov word [eax], dx
jmp 0x4016b6
mov cx, word [ebp - 0x214]
mov word [ebp - 0x48], cx
mov edx, dword [ebp - 0x6c]
mov eax, dword [edx]
xor eax, dword [ebp - 0x80]
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x20c]
sub edx, dword [ecx]
mov dword [ebp - 0x94], edx
lea eax, [ebp - 0x24]
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x80]
sub edx, dword [ecx]
mov dword [0x411004], edx
mov dword [ebp - 0x10], 0x997e
movzx eax, word [ebp - 0x214]
mov ecx, dword [ebp - 8]
movzx edx, word [ecx]
and eax, edx
movzx ecx, word [0x416c60]
movzx edx, word [ebp - 0x84]
add ecx, edx
cmp eax, ecx
jle 0x40178c
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x138]
mov dword [ebp - 0x80], ecx
movsx edx, word [ebp - 0x7c]
add edx, 0x1a4
mov eax, dword [ebp - 0x224]
movsx ecx, word [eax]
cmp edx, ecx
jl 0x401759
movzx edx, byte [ebp - 0x1fe]
sub edx, 0x5e
mov byte [ebp - 0x1fe], dl
movzx eax, word [ebp - 0x84]
mov ecx, dword [ebp - 8]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x214], ax
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x208]
mov dword [ebp - 0x94], ecx
jmp 0x40178c
mov edx, dword [ebp - 8]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x48]
add eax, ecx
movzx edx, word [ebp - 0x84]
movzx ecx, word [ebp - 0x214]
sub edx, ecx
cmp eax, edx
jne 0x40178c
lea edx, [ebp - 0x1e8]
push edx
call dword [sym.imp.COMDLG32.dll_PrintDlgExW]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x24]
mov ecx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x68]
mov dword [eax], edx
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x138]
mov ecx, dword [ecx]
sar edx, cl
mov eax, dword [ebp - 0x68]
mov dword [eax], edx
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ecx]
or edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x68]
mov dword [eax], edx
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x130]
xor edx, dword [ecx]
mov dword [ebp - 0x80], edx
mov eax, dword [0x416c68]
movsx ecx, byte [eax]
movsx edx, byte [section..data]
and ecx, edx
mov eax, dword [0x416c68]
mov byte [eax], cl
mov ecx, dword [ebp - 0x224]
movsx edx, word [ecx]
add edx, 0x5f2
mov word [ebp - 0x7c], dx
mov eax, dword [ebp - 0x224]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x7c]
add ecx, edx
mov eax, dword [ebp - 0x224]
mov word [eax], cx
movzx ecx, word [0x416c60]
movzx edx, word [ebp - 0x214]
and ecx, edx
mov eax, dword [ebp - 8]
mov word [eax], cx
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x20c]
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp - 0x11c]
add eax, dword [ebp - 0x94]
mov dword [ebp - 0x20c], eax
movsx ecx, word [ebp - 0x7c]
sub ecx, 0x196
mov edx, dword [ebp - 0x224]
mov word [edx], cx
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x214]
sub ecx, edx
mov word [ebp - 0x84], cx
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x6c]
add ecx, dword [edx]
mov dword [ebp - 0x18], ecx
mov eax, dword [0x416c68]
movsx edx, byte [eax]
movsx ecx, byte [section..data]
sar edx, cl
mov eax, dword [0x416c68]
mov byte [eax], dl
mov ecx, dword [ebp - 0x68]
mov edx, dword [ecx]
or edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x6c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ecx]
xor edx, dword [0x411004]
mov dword [ebp - 0x130], edx
mov eax, dword [ebp - 8]
movzx edx, word [eax]
movzx ecx, word [ebp - 0x48]
shl edx, cl
mov eax, dword [ebp - 8]
mov word [eax], dx
movzx ecx, byte [ebp - 0x1fe]
and ecx, 0x53
mov byte [ebp - 0x1fe], cl
mov edx, dword [ebp - 0x208]
sub edx, dword [ebp - 0x11c]
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x130]
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x224]
movsx eax, word [edx]
add eax, 0x56c
mov word [ebp - 0x7c], ax
movzx ecx, word [ebp - 0x84]
movzx edx, word [ebp - 0x214]
sub ecx, edx
mov word [ebp - 0x48], cx
mov eax, dword [0x416c68]
movsx ecx, byte [eax]
and ecx, 5
mov byte [section..data], cl
movzx edx, word [ebp - 0x48]
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x84], dx
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx]
add eax, dword [ebp - 0x11c]
mov dword [ebp - 0x208], eax
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x24]
add edx, dword [ecx]
mov eax, dword [ebp - 0x6c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx]
or eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x8c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x6c]
mov eax, dword [edx]
mov ecx, dword [0x411004]
shl eax, cl
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov edx, dword [ebp - 8]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x84]
xor eax, ecx
mov word [ebp - 0x48], ax
mov edx, dword [ebp - 8]
movzx eax, word [edx]
movzx ecx, word [0x416c60]
sar eax, cl
mov ecx, dword [ebp - 8]
mov word [ecx], ax
mov edx, dword [ebp - 0x6c]
mov eax, dword [edx]
and eax, dword [ebp - 0x80]
mov dword [0x411004], eax
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx]
add edx, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x8c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x138]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x68]
add ecx, dword [edx]
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x224]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x7c]
sub edx, eax
mov ecx, dword [ebp - 0x224]
mov word [ecx], dx
movzx edx, word [ebp - 0x214]
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x84], dx
mov edx, dword [ebp - 0x70]
add edx, 0x7c
mov dword [ebp - 0x70], edx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetNamedPipeHandleStateA]
movzx eax, byte [ebp - 0x1fe]
and eax, 7
mov byte [ebp - 0x1fe], al
cmp dword [ebp - 0x70], 0x363c
jb 0x40178c
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x208]
mov dword [ebp - 0xfc], edx
movsx eax, word [ebp - 0x7c]
mov ecx, dword [ebp - 0x78]
movsx edx, word [ecx]
add eax, edx
mov word [0x411008], ax
mov al, byte [ebp - 0x1fe]
mov byte [ebp - 0x238], al
cmp byte [ebp - 0x238], 0x2b
je 0x401af5
cmp byte [ebp - 0x238], 0xd1
je 0x401aae
jmp 0x401b53
mov cl, byte [ebp - 0x1fe]
mov byte [ebp - 0x23c], cl
cmp byte [ebp - 0x23c], 0x30
je 0x401ae6
cmp byte [ebp - 0x23c], 0x5c
je 0x401ace
jmp 0x401af3
mov edx, dword [0x411004]
sub edx, dword [ebp - 0x138]
mov eax, dword [ebp - 0x6c]
mov dword [eax], edx
call fcn.00403450
jmp 0x401af3
mov ecx, dword [ebp - 0x68]
mov edx, dword [ecx]
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x6c]
mov dword [eax], edx
jmp 0x401b53
movzx edx, word [ebp - 0x84]
movzx ecx, word [ebp - 0x214]
shl edx, cl
mov word [ebp - 0x48], dx
mov eax, dword [ebp - 0x8c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xfc]
shr edx, cl
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x18]
mov dword [ebp - 0x138], ecx
movzx edx, byte [section..data]
push edx
mov eax, dword [0x416c68]
movzx ecx, byte [eax]
push ecx
movzx edx, byte [section..data]
push edx
movzx eax, word [ebp - 0x7c]
push eax
call fcn.00403870
add esp, 0x10
mov dword [ebp - 0x1ec], 0x6634
mov ecx, dword [ebp - 0x68]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x80]
mov dword [ebp - 0x138], edx
movzx eax, word [ebp - 0x214]
mov ecx, dword [ebp - 8]
movzx edx, word [ecx]
and eax, edx
movzx ecx, word [ebp - 0x84]
movzx edx, word [ebp - 0x48]
sub ecx, edx
cmp eax, ecx
jg 0x401bc6
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax]
mov dword [ebp - 4], ecx
movzx edx, word [ebp - 0x214]
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
add edx, ecx
mov word [ebp - 0x48], dx
push 0
push 0x10
push 2
push 0
push 4
push 0xc0000000
push str.C:_absencesoverconfident_bodyInterstitiallyGrapeshot
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 8]
mov ax, word [edx]
mov word [0x416c64], ax
movzx ecx, byte [ebp - 0x1fe]
add ecx, 0xea
mov byte [ebp - 0x1fe], cl
mov edx, dword [ebp - 0x6c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x68]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x6c]
add eax, dword [ecx]
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx]
add eax, dword [ebp - 0x11c]
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x80]
sub eax, dword [edx]
mov dword [ebp - 0x24], eax
movzx ecx, byte [ebp - 0x1fe]
sar ecx, 4
mov byte [ebp - 0x1fe], cl
mov edx, dword [ebp - 0x224]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x7c]
xor eax, ecx
mov edx, dword [ebp - 0x78]
mov word [edx], ax
movzx eax, word [ebp - 0x48]
mov ecx, dword [ebp - 8]
movzx edx, word [ecx]
or eax, edx
mov word [0x416c60], ax
mov eax, dword [ebp - 0x10]
add eax, 0x13
mov dword [ebp - 0x10], eax
movzx ecx, byte [ebp - 0x1fe]
shl ecx, 5
mov byte [ebp - 0x1fe], cl
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x208]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x18]
and ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x68]
mov dword [edx], ecx
movzx eax, word [ebp - 0x84]
movzx ecx, word [0x416c60]
add eax, ecx
mov edx, dword [ebp - 8]
mov word [edx], ax
mov eax, dword [ebp - 0x78]
movsx ecx, word [eax]
mov edx, dword [ebp - 0x224]
movsx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x78]
mov word [edx], cx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 4]
mov dword [ebp - 0x20c], ecx
mov edx, dword [ebp - 0x130]
add edx, dword [ebp - 0x138]
mov dword [ebp - 0x80], edx
mov eax, dword [ebp - 0x80]
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x130], eax
mov ecx, dword [0x416c68]
movsx edx, byte [ecx]
movsx eax, byte [section..data]
add edx, eax
mov ecx, dword [0x416c68]
mov byte [ecx], dl
movzx edx, word [ebp - 0x214]
movzx eax, word [ebp - 0x48]
sub edx, eax
mov ecx, dword [ebp - 8]
mov word [ecx], dx
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
mov ecx, dword [edx]
and ecx, dword [eax]
mov edx, dword [ebp - 0x6c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
mov edx, dword [eax]
xor edx, dword [ecx]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x138]
sar eax, cl
mov dword [ebp - 0x24], eax
movsx edx, word [ebp - 0x7c]
mov eax, dword [ebp - 0x224]
movsx ecx, word [eax]
shl edx, cl
mov ecx, dword [ebp - 0x78]
mov word [ecx], dx
movsx edx, word [ebp - 0x7c]
mov eax, dword [ebp - 0x224]
movsx ecx, word [eax]
or edx, ecx
mov eax, dword [ebp - 0x78]
mov word [eax], dx
movzx ecx, byte [ebp - 0x1fe]
sub ecx, 0xea
mov byte [ebp - 0x1fe], cl
cmp dword [ebp - 0x10], 0x9ddf
jb 0x401bd2
mov dword [ebp - 0x20], 0x416c60
lea edx, [ebp - 0xfc]
mov dword [ebp - 0x120], edx
lea eax, [ebp - 0xfc]
mov dword [ebp - 0xf8], eax
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x68]
add edx, dword [eax]
mov dword [ebp - 0x130], edx
movzx ecx, word [ebp - 0x48]
mov dword [ebp - 0x240], ecx
cmp dword [ebp - 0x240], 0
je 0x401ded
cmp dword [ebp - 0x240], 0x1e
je 0x402c07
jmp 0x402c59
mov edx, dword [0x416c68]
movsx eax, byte [edx]
and eax, 0x5b
movsx ecx, byte [section..data]
cmp eax, ecx
jle 0x401e62
movzx edx, byte [ebp - 0x1fe]
sub edx, 0xb3
mov byte [ebp - 0x1fe], dl
movsx eax, byte [section..data]
add eax, 0x39
mov ecx, dword [0x416c68]
movsx edx, byte [ecx]
cmp eax, edx
jle 0x401e62
mov eax, dword [ebp - 0x224]
movsx ecx, word [eax]
movsx edx, word [0x411008]
and ecx, edx
mov eax, dword [ebp - 0x78]
mov word [eax], cx
mov ecx, dword [ebp - 0x20]
movzx edx, word [ecx]
push edx
mov eax, dword [ebp - 0x20]
movzx ecx, word [eax]
push ecx
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x20]
mov cx, word [eax]
call fcn.00404920
lea ecx, [ebp - 4]
mov dword [ebp - 0x100], ecx
mov dl, byte [section..data]
mov byte [ebp - 0x244], dl
cmp byte [ebp - 0x244], 0
je 0x401e82
jmp 0x401ecf
lea eax, [ebp - 0x80]
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x214]
mov dword [ebp - 0x2c], ecx
mov dl, byte [ebp - 0x1fe]
mov byte [ebp - 0x101], dl
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x40]
mov dword [ecx], eax
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x24]
sub edx, dword [ecx]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x138]
mov dword [ebp - 0x18], eax
jmp 0x401ee2
mov ecx, dword [ebp - 8]
movzx edx, word [ecx]
movzx eax, word [0x416c64]
add edx, eax
mov word [ebp - 0x48], dx
lea ecx, [ebp - 0x1fe]
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx]
mov dword [ebp - 0x204], eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
mov ecx, dword [ebp - 0x2c]
movzx edx, word [ecx]
mov dword [ebp - 0x248], edx
cmp dword [ebp - 0x248], 0
je 0x401f20
jmp 0x402b41
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0x208]
add edx, dword [ecx]
cmp eax, edx
jne 0x402004
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x2c]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0x48], cx
mov ecx, dword [ebp - 0x90]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x1fe]
add edx, eax
mov byte [ebp - 0x101], dl
mov ecx, dword [ebp - 0x94]
add ecx, dword [ebp - 0x11c]
mov dword [ebp - 0xfc], ecx
push 0x40
mov edx, dword [ebp - 0x60]
push edx
mov eax, dword [ebp - 0x60]
push eax
call dword [sym.imp.COMDLG32.dll_GetFileTitleW]
mov word [ebp - 0x34], ax
mov ecx, dword [0x416c68]
mov dl, byte [ecx]
mov byte [ebp - 0x24c], dl
cmp byte [ebp - 0x24c], 0x44
je 0x401fb1
cmp byte [ebp - 0x24c], 0x69
je 0x401ff1
jmp 0x402002
movsx eax, byte [section..data]
sar eax, 3
mov ecx, dword [0x416c68]
mov byte [ecx], al
movzx edx, byte [ebp - 0x1fe]
movzx ecx, byte [ebp - 0x101]
shl edx, cl
mov eax, dword [ebp - 0x90]
mov byte [eax], dl
movzx ecx, word [ebp - 0x48]
movzx edx, word [ebp - 0x84]
or ecx, edx
mov word [ebp - 0x214], cx
jmp 0x402002
mov eax, dword [ebp - 0x68]
mov ecx, dword [0x411004]
xor ecx, dword [eax]
mov dword [ebp - 0x138], ecx
jmp 0x40204c
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 4]
and eax, dword [edx]
mov dword [ebp - 0xfc], eax
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x18], ecx
mov dl, byte [ebp - 0x101]
mov byte [ebp - 0x49], dl
lea eax, [ebp - 0x48]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x94]
sub ecx, dword [ebp - 0x20c]
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x80]
sub eax, dword [edx]
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0x78]
mov dx, word [ecx]
mov word [ebp - 0x12c], dx
mov al, byte [section..data]
mov byte [ebp - 0x51], al
mov ecx, dword [0x416c68]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x51]
add edx, eax
movsx ecx, byte [section..data]
cmp edx, ecx
jle 0x4020a1
movzx edx, word [ebp - 0x214]
mov eax, dword [ebp - 0x44]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x48], dx
jmp 0x402126
mov edx, dword [ebp - 0x24]
add edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x18]
cmp edx, ecx
jne 0x402126
movzx edx, byte [ebp - 0x1fe]
movzx eax, byte [ebp - 0x49]
add edx, eax
mov ecx, dword [ebp - 0x90]
mov byte [ecx], dl
mov edx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x58]
add eax, dword [edx]
mov dword [ebp - 0x204], eax
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x130]
shl edx, cl
mov dword [ebp - 0x18], edx
mov eax, dword [0x416c68]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x51]
or ecx, edx
mov eax, dword [0x416c68]
mov byte [eax], cl
mov ecx, dword [ebp - 0x110]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x90]
movzx ecx, byte [eax]
push ecx
mov edx, dword [0x416c68]
movzx eax, byte [edx]
push eax
mov ecx, dword [ebp - 0x68]
mov edx, dword [ecx]
mov cl, byte [ebp - 0x51]
call fcn.00403b10
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x80]
xor ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x68]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x101]
movzx ecx, byte [ebp - 0x1fe]
sar eax, cl
mov ecx, dword [ebp - 0x90]
mov byte [ecx], al
mov edx, dword [ebp - 0x44]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x2c]
movzx edx, word [ecx]
and eax, edx
mov word [ebp - 0x48], ax
mov eax, dword [ebp - 0x130]
sub eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x110]
mov dword [ecx], eax
mov edx, dword [ebp - 0x11c]
add edx, dword [ebp - 0x208]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x40]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x68]
mov dword [eax], edx
mov ecx, dword [ebp - 0x138]
sub ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x6c]
mov dword [edx], ecx
mov eax, dword [0x416c68]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x51]
add ecx, edx
mov eax, dword [0x416c68]
mov byte [eax], cl
mov ecx, dword [ebp - 0x20]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x2c]
movzx ecx, word [eax]
add edx, ecx
mov word [ebp - 0x214], dx
movsx edx, byte [section..data]
mov eax, dword [0x416c68]
movsx ecx, byte [eax]
and edx, ecx
mov byte [ebp - 0x51], dl
mov edx, dword [ebp - 0x78]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x34]
sub eax, ecx
mov edx, dword [ebp - 0x224]
mov word [edx], ax
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x50]
shr eax, cl
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0x68]
mov edx, dword [ecx]
or edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x40]
mov dword [eax], edx
movzx edx, byte [ebp - 0x1fe]
movzx ecx, byte [ebp - 0x49]
shl edx, cl
mov byte [ebp - 0x101], dl
movzx eax, word [ebp - 0x214]
mov ecx, dword [ebp - 8]
movzx edx, word [ecx]
xor eax, edx
mov word [ebp - 0x48], ax
mov eax, dword [ebp - 0x204]
sub eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x100]
mov dword [ecx], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov dword [ebp - 0x1f4], eax
mov edx, dword [ebp - 0x80]
and edx, dword [ebp - 0x138]
mov dword [0x411004], edx
mov eax, dword [ebp - 0x1ec]
add eax, 0xd1
mov dword [ebp - 0x1ec], eax
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EraseTape]
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x68]
add edx, dword [eax]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x204]
sub ecx, dword [ebp - 0x50]
mov dword [ebp - 0x11c], ecx
movzx edx, byte [ebp - 0x49]
movzx eax, byte [ebp - 0x101]
sub edx, eax
mov ecx, dword [ebp - 0x90]
mov byte [ecx], dl
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateFiberEx]
mov edx, dword [ebp - 0x2c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x44]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x214], ax
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x138]
add ecx, dword [eax]
mov edx, dword [ebp - 0x6c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x68]
mov dword [ecx], eax
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 4]
add eax, dword [edx]
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0x80]
and ecx, dword [ebp - 0x138]
mov edx, dword [ebp - 0x110]
mov dword [edx], ecx
movsx eax, byte [ebp - 0x51]
movsx ecx, byte [section..data]
or eax, ecx
mov edx, dword [0x416c68]
mov byte [edx], al
movsx eax, byte [section..data]
mov ecx, dword [0x416c68]
movsx ecx, byte [ecx]
shl eax, cl
mov byte [ebp - 0x51], al
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov dword [ebp - 0x218], eax
movsx edx, word [ebp - 0x7c]
movsx ecx, word [ebp - 0x34]
sar edx, cl
mov word [ebp - 0x12c], dx
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetInformationJobObject]
movzx eax, byte [ebp - 0x49]
movzx ecx, byte [ebp - 0x1fe]
xor eax, ecx
mov byte [ebp - 0x101], al
movzx edx, word [ebp - 0x214]
mov eax, dword [ebp - 0x20]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x84], dx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x120]
add eax, dword [ecx]
mov edx, dword [ebp - 0x8c]
mov dword [edx], eax
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x138]
and ecx, dword [eax]
mov edx, dword [ebp - 0x6c]
mov dword [edx], ecx
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
movzx edx, word [0x416c64]
sub ecx, edx
mov eax, dword [ebp - 0x2c]
mov word [eax], cx
movzx ecx, byte [ebp - 0x101]
mov edx, dword [ebp - 0x90]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x1fe], cl
movsx ecx, byte [ebp - 0x51]
movsx edx, byte [section..data]
add ecx, edx
mov eax, dword [0x416c68]
mov byte [eax], cl
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x6c]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x110]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x6c]
add edx, dword [eax]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x94]
add ecx, dword [ebp - 0x50]
mov dword [ebp - 0x204], ecx
movzx edx, word [ebp - 0x48]
movzx eax, word [ebp - 0x84]
add edx, eax
mov word [ebp - 0x214], dx
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x90]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x1fe]
add edx, eax
mov ecx, dword [ebp - 0x90]
mov byte [ecx], dl
mov edx, dword [ebp - 0x68]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x24]
sar eax, cl
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x68]
mov edx, dword [ecx]
xor edx, dword [0x411004]
mov eax, dword [ebp - 0x40]
mov dword [eax], edx
mov ecx, dword [ebp - 0x224]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x7c]
or edx, eax
mov ecx, dword [ebp - 0x78]
mov word [ecx], dx
movsx edx, byte [ebp - 0x51]
mov eax, dword [0x416c68]
movsx ecx, byte [eax]
shl edx, cl
mov byte [section..data], dl
mov ecx, dword [ebp - 0x90]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x49]
and edx, eax
mov ecx, dword [ebp - 0x90]
mov byte [ecx], dl
cmp dword [ebp - 0x1ec], 0xa36f
jb 0x40213f
movsx edx, byte [ebp - 0x51]
movsx eax, byte [section..data]
sub edx, eax
mov ecx, dword [0x416c68]
movsx eax, byte [ecx]
cmp edx, eax
jne 0x402655
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x1f8], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 4]
sub eax, dword [edx]
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x110]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ecx]
sub ecx, dword [edx]
cmp eax, ecx
je 0x402645
mov edx, dword [ebp - 0x120]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x8c]
add eax, dword [ecx]
mov dword [ebp - 4], eax
mov edx, dword [ebp - 0x110]
mov eax, dword [edx]
add eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x130]
mov ecx, dword [ecx]
shl edx, cl
cmp eax, edx
jg 0x4025ad
mov eax, dword [ebp - 0x130]
xor eax, dword [ebp - 0x80]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x130]
sar edx, cl
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x90]
movzx eax, byte [edx]
push eax
mov ecx, dword [0x416c68]
movzx edx, byte [ecx]
push edx
mov edx, dword [ebp - 0x130]
mov eax, dword [0x416c68]
mov cl, byte [eax]
call fcn.00403b10
jmp 0x402643
mov ecx, dword [ebp - 0x78]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x7c]
and edx, eax
mov ecx, dword [ebp - 0x224]
movsx eax, word [ecx]
movsx ecx, word [ebp - 0x12c]
add eax, ecx
cmp edx, eax
jl 0x402643
mov edx, dword [0x416c68]
mov al, byte [edx]
mov byte [ebp - 0x250], al
cmp byte [ebp - 0x250], 0
je 0x4025f1
cmp byte [ebp - 0x250], 0x2a
je 0x402632
jmp 0x402643
mov ecx, dword [ebp - 0x110]
mov edx, dword [ecx]
mov dword [ebp - 0xc], edx
movzx eax, word [ebp - 0x214]
movzx ecx, word [ebp - 0x84]
add eax, ecx
mov edx, dword [ebp - 0x20]
mov word [edx], ax
mov al, byte [ebp - 0x49]
mov byte [ebp - 0x131], al
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0xf8]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [0x41100c], eax
jmp 0x402643
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0x58]
sub edx, dword [ecx]
mov dword [ebp - 0x94], edx
jmp 0x402655
lea eax, [ebp - 0x188]
push eax
call dword [sym.imp.COMDLG32.dll_PrintDlgW]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x138]
and edx, dword [ecx]
mov eax, dword [ebp - 0x40]
mov dword [eax], edx
mov ecx, dword [ebp - 0x90]
mov dl, byte [ecx]
mov byte [ebp - 0x254], dl
cmp byte [ebp - 0x254], 9
je 0x402713
cmp byte [ebp - 0x254], 0x2c
je 0x40268e
jmp 0x402745
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x80]
add ecx, dword [eax]
mov edx, dword [ebp - 0x68]
mov dword [edx], ecx
mov eax, dword [ebp - 0x44]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x84]
add ecx, edx
mov eax, dword [ebp - 8]
movzx edx, word [eax]
movzx eax, word [ebp - 0x48]
sub edx, eax
cmp ecx, edx
jg 0x4026dc
movzx ecx, word [ebp - 0x48]
push ecx
mov edx, dword [ebp - 8]
movzx eax, word [edx]
push eax
mov ecx, dword [ebp - 0x20]
mov dx, word [ecx]
mov ecx, dword [ebp - 0x84]
call fcn.00404920
jmp 0x402711
mov edx, dword [ebp - 0x78]
movsx eax, word [edx]
mov ecx, dword [ebp - 0x224]
movsx edx, word [ecx]
sub eax, edx
movsx ecx, word [ebp - 0x7c]
movsx edx, word [ebp - 0x34]
or ecx, edx
cmp eax, ecx
jle 0x402711
mov eax, dword [ebp - 0x120]
mov edx, dword [ebp - 0x208]
mov ecx, dword [eax]
shr edx, cl
mov dword [ebp - 0x20c], edx
jmp 0x402745
mov eax, dword [ebp - 0x1f8]
movzx edx, word [eax]
mov eax, dword [ebp - 0x20]
movzx ecx, word [eax]
shl edx, cl
mov word [ebp - 0x84], dx
mov ecx, dword [ebp - 0x90]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x1fe]
xor edx, eax
mov ecx, dword [ebp - 0x90]
mov byte [ecx], dl
lea edx, [ebp - 0x12c]
mov dword [ebp - 0x14], edx
mov al, byte [ebp - 0x51]
mov byte [ebp - 0x1ed], al
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0x94]
and edx, dword [ecx]
mov dword [0x411010], edx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x6c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x90]
mov cl, byte [eax]
mov byte [ebp - 0x258], cl
cmp byte [ebp - 0x258], 0x14
je 0x4027a4
cmp byte [ebp - 0x258], 0x26
je 0x402aee
jmp 0x402b06
mov edx, dword [ebp - 8]
movzx eax, word [edx]
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x25c], 0
je 0x4027ca
cmp dword [ebp - 0x25c], 0x5bc
je 0x402832
jmp 0x402877
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x220], ecx
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x100]
mov ecx, dword [edx]
and ecx, dword [eax]
mov edx, dword [ebp - 0x120]
mov dword [edx], ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0x18]
imul edx, dword [ecx]
mov dword [ebp - 0x24], edx
movzx eax, word [0x416c60]
movzx ecx, word [ebp - 0x84]
sub eax, ecx
mov word [ebp - 0x48], ax
mov edx, dword [ebp - 0x90]
mov al, byte [edx]
mov byte [0x416c62], al
mov ecx, dword [ebp - 0x20c]
mov dword [ebp - 0x108], ecx
jmp 0x402877
mov edx, dword [ebp - 0x6c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x220]
add eax, dword [ecx]
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x88]
add eax, dword [edx]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ecx]
sar edx, cl
mov dword [ebp - 0x88], edx
movzx eax, byte [ebp - 0x49]
push eax
movzx ecx, byte [ebp - 0x131]
push ecx
movzx edx, word [ebp - 0x7c]
push edx
call fcn.00404050
mov eax, dword [ebp - 0x110]
mov eax, dword [eax]
cdq
idiv dword [ebp - 0x24]
mov dword [ebp - 0x88], eax
movsx ecx, byte [ebp - 0x51]
mov edx, dword [0x416c68]
movsx eax, byte [edx]
xor ecx, eax
mov byte [ebp - 0x1ed], cl
movsx ecx, word [ebp - 0x12c]
movsx edx, word [ebp - 0x34]
or ecx, edx
mov word [ebp - 0x7c], cx
movzx eax, byte [ebp - 0x131]
mov ecx, dword [ebp - 0x90]
movzx ecx, byte [ecx]
shl eax, cl
mov byte [ebp - 0x1fe], al
mov edx, dword [ebp - 0x2c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x44]
movzx edx, word [ecx]
and eax, edx
mov word [0x416c64], ax
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x100]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x20c], edx
mov eax, dword [ebp - 0x114]
sub eax, 0x3b
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 0x94]
mov dword [ebp - 0x20c], ecx
movzx edx, word [ebp - 0x214]
movzx eax, word [ebp - 0x84]
sub edx, eax
mov word [ebp - 0x48], dx
mov ecx, dword [ebp - 0x90]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x101]
add edx, eax
mov byte [ebp - 0x131], dl
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0xc]
add edx, dword [ecx]
mov eax, dword [ebp - 0x110]
mov dword [eax], edx
mov ecx, dword [0x411010]
sub ecx, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x100]
mov dword [edx], ecx
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
mov edx, dword [eax]
and edx, dword [ecx]
mov eax, dword [ebp - 0x110]
mov dword [eax], edx
mov ecx, dword [ebp - 0x220]
mov edx, dword [ebp - 0x130]
add edx, dword [ecx]
mov dword [ebp - 0x88], edx
cmp dword [ebp - 0x114], 0xf1cd
ja 0x402889
mov dword [ebp - 0xf4], 0x411c60
mov eax, dword [ebp - 0x90]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x49]
sar edx, cl
movzx eax, byte [ebp - 0x131]
movzx ecx, byte [ebp - 0x1fe]
xor eax, ecx
cmp edx, eax
jl 0x402a13
movzx edx, byte [ebp - 0x101]
mov eax, dword [ebp - 0x90]
movzx ecx, byte [eax]
add edx, ecx
mov byte [0x411001], dl
mov edx, dword [ebp - 8]
mov ax, word [edx]
mov word [ebp - 0x124], ax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx]
and edx, dword [ebp - 0x108]
mov dword [ebp - 4], edx
lea eax, [ebp - 0xc]
mov dword [ebp - 0x140], eax
mov cl, byte [ebp - 0x51]
mov byte [ebp - 0x35], cl
push 0
push 0
call dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
jmp 0x402a29
movsx edx, word [0x411008]
movsx eax, word [ebp - 0x12c]
add edx, eax
mov ecx, dword [ebp - 0x14]
mov word [ecx], dx
mov dword [ebp - 0x210], 0x40c170
movzx edx, byte [ebp - 0x101]
mov eax, dword [ebp - 0x90]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0x131], dl
movzx edx, word [ebp - 0x214]
mov eax, dword [ebp - 0x44]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x84], dx
mov edx, dword [ebp - 0x24]
sub edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x18]
add ecx, dword [eax]
cmp edx, ecx
jne 0x402ab2
mov edx, dword [ebp - 0xf8]
mov eax, dword [0x41100c]
and eax, dword [edx]
mov dword [ebp - 0x58], eax
movzx ecx, byte [ebp - 0x35]
push ecx
movzx edx, word [0x416c64]
push edx
movzx eax, word [ebp - 0x214]
push eax
mov ecx, dword [ebp - 0x1f8]
mov dx, word [ecx]
mov eax, dword [0x416c68]
mov cl, byte [eax]
call fcn.00404530
jmp 0x402aec
movsx ecx, word [0x411008]
mov edx, dword [ebp - 0x78]
movsx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x14]
movsx eax, word [edx]
movsx edx, word [ebp - 0x12c]
sub eax, edx
cmp ecx, eax
je 0x402aec
movsx eax, byte [ebp - 0x1ed]
movsx ecx, byte [section..data]
xor eax, ecx
mov edx, dword [0x416c68]
mov byte [edx], al
jmp 0x402b06
movzx ecx, word [ebp - 0x48]
movzx edx, word [ebp - 0x84]
add ecx, edx
mov eax, dword [ebp - 0x2c]
mov word [eax], cx
call fcn.00403450
mov ecx, dword [ebp - 0x90]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x1fe]
sub edx, eax
mov byte [ebp - 0x101], dl
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x120]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x90]
movzx eax, byte [edx]
push eax
call fcn.00402f10
jmp 0x402b85
mov ecx, dword [ebp - 0x224]
movsx edx, word [ecx]
mov eax, dword [ebp - 0x78]
movsx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x224]
mov word [eax], dx
mov ecx, dword [ebp - 0x224]
movsx edx, word [ecx]
mov eax, dword [ebp - 0x78]
movsx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x7c], dx
mov edx, dword [ebp - 0x68]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x90]
movzx edx, byte [ecx]
push edx
call fcn.004053c0
movsx eax, byte [section..data]
add eax, 0x11
mov ecx, dword [0x416c68]
mov byte [ecx], al
mov edx, dword [ebp - 0x80]
mov ecx, dword [0x411004]
sar edx, cl
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x130]
mov dword [ebp - 0x80], ecx
mov ecx, dword [ebp - 0x58]
xor ecx, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx]
xor edx, edx
div dword [ebp - 0x204]
cmp ecx, eax
jae 0x402bdc
mov eax, dword [ebp - 0x18]
and eax, dword [ebp - 0x80]
mov dword [ebp - 0x130], eax
movzx ecx, byte [section..data]
push ecx
movzx edx, word [ebp - 0x84]
push edx
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
push ecx
mov edx, dword [ebp - 0x2c]
mov dx, word [edx]
mov eax, dword [0x416c68]
mov cl, byte [eax]
call fcn.00404530
jmp 0x402c59
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ecx]
or edx, dword [ebp - 0x138]
mov dword [0x411004], edx
lea eax, [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x64]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call dword [sym.imp.USERENV.dll_GetUserProfileDirectoryW]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x94]
shr eax, cl
mov ecx, dword [ebp - 0x120]
mov dword [ecx], eax
mov edx, dword [ebp - 0x20]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x48]
xor eax, ecx
mov word [ebp - 0x214], ax
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [edx]
and ecx, dword [eax]
mov edx, dword [ebp - 0x68]
mov dword [edx], ecx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x20c]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x208]
sub edx, dword [ebp - 0x11c]
cmp ecx, edx
jb 0x402d12
mov eax, dword [ebp - 0x138]
sub eax, dword [ebp - 0x130]
mov dword [ebp - 0x80], eax
movzx ecx, word [ebp - 0x214]
movzx edx, word [0x416c60]
add ecx, edx
mov word [ebp - 0x84], cx
movzx eax, word [ebp - 0x84]
mov dword [ebp - 0x260], eax
cmp dword [ebp - 0x260], 0xffa
je 0x402ccb
jmp 0x402cf6
movzx ecx, word [ebp - 0x84]
movzx edx, word [ebp - 0x48]
add ecx, edx
mov eax, dword [ebp - 8]
mov word [eax], cx
mov ecx, dword [ebp - 0x120]
mov edx, dword [ebp - 0x8c]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x20c], eax
jmp 0x402d10
movzx ecx, byte [ebp - 0x1fe]
push ecx
movzx edx, byte [ebp - 0x1fe]
push edx
movzx eax, word [ebp - 0x7c]
push eax
call fcn.00404050
jmp 0x402d21
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x6c]
mov eax, dword [ecx]
mov ecx, dword [edx]
shl eax, cl
mov dword [ebp - 0x24], eax
jmp 0x402dda
mov ecx, dword [ebp - 8]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x214]
sub edx, eax
mov word [ebp - 0x84], dx
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx]
and edx, dword [ebp - 0x11c]
mov dword [ebp - 0x20c], edx
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x6c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x130]
mov dword [ebp - 0x18], eax
mov cl, byte [ebp - 0x1fe]
mov byte [ebp - 0x264], cl
cmp byte [ebp - 0x264], 0x87
je 0x402d89
cmp byte [ebp - 0x264], 0xd1
je 0x402dc7
jmp 0x402dda
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x8c]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x1fe]
add edx, 0x49
mov byte [ebp - 0x1fe], dl
movzx eax, word [ebp - 0x84]
mov ecx, dword [ebp - 8]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x214], ax
jmp 0x402dda
mov eax, dword [ebp - 0x224]
movsx ecx, word [eax]
sub ecx, 0x361
mov word [ebp - 0x7c], cx
mov edx, dword [ebp - 0x6c]
mov eax, dword [edx]
xor eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx]
or eax, dword [ebp - 0x208]
mov edx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x20c]
shr edx, cl
cmp eax, edx
jb 0x402e2a
mov eax, dword [0x416c68]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0x224]
movzx eax, word [edx]
push eax
movzx ecx, byte [ebp - 0x1fe]
push ecx
call fcn.00402eb0
add esp, 0xc
push 0x9a
push 0x42
movzx edx, word [ebp - 0x7c]
push edx
call fcn.00404050
mov eax, dword [ebp - 0x11c]
xor eax, 0x91c2
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0xf298
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x20c]
sub edx, 0xa372
mov dword [ebp - 0x11c], edx
lea eax, [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x74]
push ecx
call dword [sym.imp.USERENV.dll_GetProfilesDirectoryW]
mov dword [ebp - 0x30], eax
push 0x4e
push 0xa3
push 0xa
mov edx, 0xb8
mov cl, 0xf3
call fcn.00404530
mov eax, dword [ebp - 0x88]
mov esp, ebp
pop ebp
ret 0x10