Function at 0x10008240
Capabilities:
Allocate or change rwx memory
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x1a4
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1a8], eax
mov eax, dword [0x10084280]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1a4], 0x1f7fc150
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1ac], eax
sub eax, 0x81888161
je 0x1000954d
jmp 0x10008284
mov eax, dword [ebp - 0x1ac]
sub eax, 0x886e769c
je 0x1000966d
jmp 0x1000829a
mov eax, dword [ebp - 0x1ac]
sub eax, 0x887d5e91
je 0x10008cfb
jmp 0x100082b0
mov eax, dword [ebp - 0x1ac]
sub eax, 0x90f91c8c
je 0x10009809
jmp 0x100082c6
mov eax, dword [ebp - 0x1ac]
sub eax, 0x979483a3
je 0x10008d18
jmp 0x100082dc
mov eax, dword [ebp - 0x1ac]
sub eax, 0x98c4fd75
je 0x1000953e
jmp 0x100082f2
mov eax, dword [ebp - 0x1ac]
sub eax, 0x9b50d67c
je 0x1000973e
jmp 0x10008308
mov eax, dword [ebp - 0x1ac]
sub eax, 0x9c2d0b8b
je 0x100096e0
jmp 0x1000831e
mov eax, dword [ebp - 0x1ac]
sub eax, 0x9e0e4ccb
je 0x10008ec2
jmp 0x10008334
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa592ca85
je 0x10009072
jmp 0x1000834a
mov eax, dword [ebp - 0x1ac]
sub eax, 0xaad30563
je 0x10008e53
jmp 0x10008360
mov eax, dword [ebp - 0x1ac]
sub eax, 0xb3aa39be
je 0x10008a91
jmp 0x10008376
mov eax, dword [ebp - 0x1ac]
sub eax, 0xb6034ed7
je 0x100097ed
jmp 0x1000838c
mov eax, dword [ebp - 0x1ac]
sub eax, 0xb65a8bd3
je 0x10008caf
jmp 0x100083a2
mov eax, dword [ebp - 0x1ac]
sub eax, 0xb732f805
je 0x10008dcc
jmp 0x100083b8
mov eax, dword [ebp - 0x1ac]
sub eax, 0xb826aed5
je 0x1000963f
jmp 0x100083ce
mov eax, dword [ebp - 0x1ac]
sub eax, 0xbfbe707d
je 0x10008a1b
jmp 0x100083e4
mov eax, dword [ebp - 0x1ac]
sub eax, 0xc0023eb9
je 0x1000882e
jmp 0x100083fa
mov eax, dword [ebp - 0x1ac]
sub eax, 0xc2886d6d
je 0x10008d69
jmp 0x10008410
mov eax, dword [ebp - 0x1ac]
sub eax, 0xc439804b
je 0x10008988
jmp 0x10008426
mov eax, dword [ebp - 0x1ac]
sub eax, 0xcc6250b2
je 0x1000918e
jmp 0x1000843c
mov eax, dword [ebp - 0x1ac]
sub eax, 0xd0842a2c
je 0x100090e4
jmp 0x10008452
mov eax, dword [ebp - 0x1ac]
sub eax, 0xd3e2a348
je 0x10008ddb
jmp 0x10008468
mov eax, dword [ebp - 0x1ac]
sub eax, 0xdb1a0fc2
je 0x100096b0
jmp 0x1000847e
mov eax, dword [ebp - 0x1ac]
sub eax, 0xed1d4ae8
je 0x10008dea
jmp 0x10008494
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf11ec6ff
je 0x10008b40
jmp 0x100084aa
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf1e72553
je 0x10008fac
jmp 0x100084c0
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf272aa0b
je 0x10008ea3
jmp 0x100084d6
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf372cf43
je 0x10008f38
jmp 0x100084ec
mov eax, dword [ebp - 0x1ac]
sub eax, 0xfbb02ca9
je 0x100091f1
jmp 0x10008502
mov eax, dword [ebp - 0x1ac]
sub eax, 0xfe628985
je 0x100089af
jmp 0x10008518
mov eax, dword [ebp - 0x1ac]
sub eax, 0x242749
je 0x10009143
jmp 0x1000852e
mov eax, dword [ebp - 0x1ac]
sub eax, 0xc3035c
je 0x1000952f
jmp 0x10008544
mov eax, dword [ebp - 0x1ac]
sub eax, 0x1c49487
je 0x100092b8
jmp 0x1000855a
mov eax, dword [ebp - 0x1ac]
sub eax, 0xcc0812b
je 0x1000994f
jmp 0x10008570
mov eax, dword [ebp - 0x1ac]
sub eax, 0xd790afc
je 0x10008fbb
jmp 0x10008586
mov eax, dword [ebp - 0x1ac]
sub eax, 0xfb67cc4
je 0x100098df
jmp 0x1000859c
mov eax, dword [ebp - 0x1ac]
sub eax, 0x13ac3fa2
je 0x10008c5c
jmp 0x100085b2
mov eax, dword [ebp - 0x1ac]
sub eax, 0x156c12fb
je 0x10009093
jmp 0x100085c8
mov eax, dword [ebp - 0x1ac]
sub eax, 0x1f7fc150
je 0x100087dd
jmp 0x100085de
mov eax, dword [ebp - 0x1ac]
sub eax, 0x21483035
je 0x10009419
jmp 0x100085f4
mov eax, dword [ebp - 0x1ac]
sub eax, 0x29ee03b1
je 0x1000959e
jmp 0x1000860a
mov eax, dword [ebp - 0x1ac]
sub eax, 0x2ceb2742
je 0x10008e94
jmp 0x10008620
mov eax, dword [ebp - 0x1ac]
sub eax, 0x362682a9
je 0x10008c4d
jmp 0x10008636
mov eax, dword [ebp - 0x1ac]
sub eax, 0x38d0dc5b
je 0x10008cda
jmp 0x1000864c
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3a1e3cc0
je 0x1000981e
jmp 0x10008662
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3ee2f6f4
je 0x10009242
jmp 0x10008678
mov eax, dword [ebp - 0x1ac]
sub eax, 0x43819146
je 0x10008979
jmp 0x1000868e
mov eax, dword [ebp - 0x1ac]
sub eax, 0x44a53abf
je 0x10008bd7
jmp 0x100086a4
mov eax, dword [ebp - 0x1ac]
sub eax, 0x47f7ecfd
je 0x100096d1
jmp 0x100086ba
mov eax, dword [ebp - 0x1ac]
sub eax, 0x4b2ce6a5
je 0x10009630
jmp 0x100086d0
mov eax, dword [ebp - 0x1ac]
sub eax, 0x4c90bb3f
je 0x10008933
jmp 0x100086e6
mov eax, dword [ebp - 0x1ac]
sub eax, 0x4ca5b8b0
je 0x100096f1
jmp 0x100086fc
mov eax, dword [ebp - 0x1ac]
sub eax, 0x4fca4219
je 0x10008942
jmp 0x10008712
mov eax, dword [ebp - 0x1ac]
sub eax, 0x505d2f45
je 0x1000900c
jmp 0x10008728
mov eax, dword [ebp - 0x1ac]
sub eax, 0x51dbd810
je 0x1000965e
jmp 0x1000873e
mov eax, dword [ebp - 0x1ac]
sub eax, 0x555de3c0
je 0x10008b61
jmp 0x10008754
mov eax, dword [ebp - 0x1ac]
sub eax, 0x59bc672b
je 0x100097a1
jmp 0x1000876a
mov eax, dword [ebp - 0x1ac]
sub eax, 0x5c17216d
je 0x10009152
jmp 0x10008780
mov eax, dword [ebp - 0x1ac]
sub eax, 0x66135ecf
je 0x100097b0
jmp 0x10008796
mov eax, dword [ebp - 0x1ac]
sub eax, 0x69d4ca75
je 0x1000940a
jmp 0x100087ac
mov eax, dword [ebp - 0x1ac]
sub eax, 0x6aeb3e7e
je 0x1000946a
jmp 0x100087c2
mov eax, dword [ebp - 0x1ac]
sub eax, 0x6daedc6f
je 0x100097d1
jmp 0x100087d8
jmp 0x1000995f
mov eax, dword [0x1008577c]
mov ecx, dword [0x10085778]
mov edx, eax
add edx, 0x750c0d99
sub edx, 1
sub edx, 0x750c0d99
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, 0x4ca5b8b0
mov ecx, 0xc0023eb9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov eax, dword [ebp - 0x1a8]
push eax
mov ecx, esp
mov dword [ebp - 0x190], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x18c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x188], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x184], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x180], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x17c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x178], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x174], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x170], ecx
mov dword [ebp - 0x194], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x11c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10025590
add esp, 0xc
mov ecx, dword [0x1008577c]
mov eax, dword [0x10085778]
mov edx, ecx
add edx, 0x24467979
sub edx, 1
sub edx, 0x24467979
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, 0x4ca5b8b0
mov ecx, 0x4c90bb3f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov dword [ebp - 0x1a4], 0x4fca4219
jmp 0x1000995f
mov eax, dword [ebp - 0x194]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x19c], eax
mov eax, 0x43819146
mov ecx, 0xc439804b
cmp dword [ebp - 0x19c], 0
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov dword [ebp - 0x1a4], 0x9c2d0b8b
jmp 0x1000995f
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x1a4], 0xfe628985
jmp 0x1000995f
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x168]
lea eax, [ebp - 0x11c]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xc
call sub.KERNEL32.dll_K32GetModuleInformation
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x110]
mov ecx, dword [ebp - 0x19c]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [ebp - 0x1a4], 0xbfbe707d
jmp 0x1000995f
mov ecx, dword [0x1008577c]
mov eax, dword [0x10085778]
mov edx, ecx
add edx, 0x4157515f
sub edx, 1
sub edx, 0x4157515f
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, 0x9b50d67c
mov ecx, 0xb3aa39be
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
lea eax, [ebp - 0x110]
xor ecx, ecx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ecx, eax
mov eax, dword [ebp - 0x190]
mov dword [eax], ecx
mov eax, dword [ebp - 0x190]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x161], al
mov eax, dword [0x1008577c]
mov ecx, dword [0x10085778]
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, 0x9b50d67c
mov ecx, 0xf11ec6ff
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov dl, byte [ebp - 0x161]
mov eax, 0x13ac3fa2
mov ecx, 0x555de3c0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov ecx, dword [0x1008577c]
mov eax, dword [0x10085778]
mov edx, ecx
sub edx, 0x476a6680
sub edx, 1
add edx, 0x476a6680
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, 0x59bc672b
mov ecx, 0x44a53abf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov ecx, dword [0x1008577c]
mov eax, dword [0x10085778]
mov edx, ecx
add edx, 0x51ab2ad6
sub edx, 1
sub edx, 0x51ab2ad6
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, 0x59bc672b
mov ecx, 0x362682a9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov dword [ebp - 0x1a4], 0x9c2d0b8b
jmp 0x1000995f
mov eax, dword [ebp - 0x190]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1000002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x1a4], 0xb65a8bd3
jmp 0x1000995f
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x160]
mov dword [eax], ecx
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x1a4], 0x38d0dc5b
jmp 0x1000995f
mov edx, dword [ebp - 0x15c]
mov eax, 0x887d5e91
mov ecx, 0xed1d4ae8
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov eax, dword [ebp - 0x190]
mov eax, dword [eax]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x1a4], 0x979483a3
jmp 0x1000995f
mov eax, dword [0x1008577c]
mov ecx, dword [0x10085778]
mov edx, eax
sub edx, 0xc1437b4
sub edx, 1
add edx, 0xc1437b4
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, 0x66135ecf
mov ecx, 0xc2886d6d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov eax, dword [ebp - 0x158]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x1008577c]
mov ecx, dword [0x10085778]
mov edx, eax
sub edx, 0xa93ab656
sub edx, 1
add edx, 0xa93ab656
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, 0x66135ecf
mov ecx, 0xb732f805
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov dword [ebp - 0x1a4], 0xd3e2a348
jmp 0x1000995f
mov dword [ebp - 0x1a4], 0x9c2d0b8b
jmp 0x1000995f
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ecx, eax
mov eax, dword [ebp - 0x188]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x184]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x1a4], 0xaad30563
jmp 0x1000995f
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x154]
sub ecx, 0x835a2a37
add ecx, eax
add ecx, 0x835a2a37
mov eax, dword [ebp - 0x180]
mov dword [eax], ecx
mov eax, dword [ebp - 0x17c]
mov word [eax], 0
mov dword [ebp - 0x1a4], 0x2ceb2742
jmp 0x1000995f
mov dword [ebp - 0x1a4], 0xf272aa0b
jmp 0x1000995f
mov eax, dword [ebp - 0x17c]
mov ax, word [eax]
mov word [ebp - 0x14e], ax
mov dword [ebp - 0x1a4], 0x9e0e4ccb
jmp 0x1000995f
mov ecx, dword [0x1008577c]
mov eax, dword [0x10085778]
mov edx, ecx
sub edx, 0x1af7f6eb
sub edx, 1
add edx, 0x1af7f6eb
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, 0x6daedc6f
mov ecx, 0xf372cf43
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov ax, word [ebp - 0x14e]
movzx eax, ax
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
mov ax, word [eax + 6]
mov word [ebp - 0x148], ax
mov eax, dword [0x1008577c]
mov ecx, dword [0x10085778]
mov edx, eax
sub edx, 0xc63cf817
sub edx, 1
add edx, 0xc63cf817
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, 0x6daedc6f
mov ecx, 0xf1e72553
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov dword [ebp - 0x1a4], 0xd790afc
jmp 0x1000995f
mov eax, dword [0x1008577c]
mov ecx, dword [0x10085778]
mov edx, eax
add edx, 0xfe960960
sub edx, 1
sub edx, 0xfe960960
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, 0xb6034ed7
mov ecx, 0x505d2f45
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov ax, word [ebp - 0x148]
movzx ecx, ax
mov eax, dword [ebp - 0x14c]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x145], al
mov eax, dword [0x1008577c]
mov ecx, dword [0x10085778]
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, 0xb6034ed7
mov ecx, 0xa592ca85
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov dl, byte [ebp - 0x145]
mov eax, 0x886e769c
mov ecx, 0x156c12fb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov eax, dword [0x1008577c]
mov ecx, dword [0x10085778]
mov edx, eax
sub edx, 0xe8b3c50f
sub edx, 1
add edx, 0xe8b3c50f
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, 0x90f91c8c
mov ecx, 0xd0842a2c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
mov dword [ebp - 0x144], eax
mov eax, dword [0x1008577c]
mov ecx, dword [0x10085778]
mov edx, eax
sub edx, 0x23933d08
sub edx, 1
add edx, 0x23933d08
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, 0x90f91c8c
mov ecx, 0x242749
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov dword [ebp - 0x1a4], 0x5c17216d
jmp 0x1000995f
mov eax, dword [ebp - 0x144]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x18
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, dword [ebp - 0x180]
mov ecx, dword [ecx]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x1a4], 0xcc6250b2
jmp 0x1000995f
mov ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x17c]
movzx eax, word [eax]
imul eax, eax, 0x28
sub ecx, 0xb8a0613d
add ecx, eax
add ecx, 0xb8a0613d
mov eax, dword [ebp - 0x178]
mov dword [eax], ecx
mov eax, dword [ebp - 0x178]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x10032892
call fcn.10028ef0
add esp, 8
mov edx, eax
mov eax, 0xfbb02ca9
mov ecx, 0x98c4fd75
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov eax, dword [ebp - 0x174]
mov dword [eax], 0
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x178]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x1a4], 0x3ee2f6f4
jmp 0x1000995f
mov ecx, dword [0x1008577c]
mov eax, dword [0x10085778]
mov edx, ecx
sub edx, 0x44043918
sub edx, 1
add edx, 0x44043918
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, 0x3a1e3cc0
mov ecx, 0x1c49487
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x138]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x40
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x170]
mov byte [eax], cl
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0xe16b451e
add edx, eax
sub edx, 0xe16b451e
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub ecx, 0x557f2e37
add ecx, eax
add ecx, 0x557f2e37
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov eax, dword [eax + 8]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.100256f0
add esp, 0xc
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x128], eax
mov ecx, dword [0x1008577c]
mov eax, dword [0x10085778]
mov edx, ecx
sub edx, 0x6b05cd7e
sub edx, 1
add edx, 0x6b05cd7e
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, 0x3a1e3cc0
mov ecx, 0x69d4ca75
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov dword [ebp - 0x1a4], 0x21483035
jmp 0x1000995f
mov eax, dword [0x1008577c]
mov ecx, dword [0x10085778]
mov edx, eax
sub edx, 0xfd74445d
sub edx, 1
add edx, 0xfd74445d
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, 0xfb67cc4
mov ecx, 0x6aeb3e7e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov eax, dword [ebp - 0x128]
mov ecx, dword [eax]
mov esi, dword [ebp - 0x12c]
xor eax, eax
sub eax, ecx
sub esi, eax
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x130]
sub esp, 0x10
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x170]
mov byte [eax], cl
mov ecx, dword [0x1008577c]
mov eax, dword [0x10085778]
mov edx, ecx
sub edx, 0xd3b57622
sub edx, 1
add edx, 0xd3b57622
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, 0xfb67cc4
mov ecx, 0xc3035c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov dword [ebp - 0x1a4], 0x98c4fd75
jmp 0x1000995f
mov dword [ebp - 0x1a4], 0x81888161
jmp 0x1000995f
mov eax, dword [0x1008577c]
mov ecx, dword [0x10085778]
mov edx, eax
add edx, 0xd0cc8a91
sub edx, 1
sub edx, 0xd0cc8a91
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, 0xcc0812b
mov ecx, 0x29ee03b1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov eax, dword [ebp - 0x17c]
mov ax, word [eax]
sub ax, 0x5650
add ax, 1
add ax, 0x5650
mov word [ebp - 0x122], ax
mov ecx, dword [0x1008577c]
mov eax, dword [0x10085778]
mov edx, ecx
sub edx, 0x22896fdd
sub edx, 1
add edx, 0x22896fdd
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, 0xcc0812b
mov ecx, 0x4b2ce6a5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x1000995f
mov dword [ebp - 0x1a4], 0xb826aed5
jmp 0x1000995f
mov eax, dword [ebp - 0x17c]
mov cx, word [ebp - 0x122]
mov word [eax], cx
mov dword [ebp - 0x1a4], 0x51dbd810
jmp 0x1000995f
mov dword [ebp - 0x1a4], 0xf272aa0b
jmp 0x1000995f
mov eax, dword [ebp - 0x190]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x1a4], 0xdb1a0fc2
jmp 0x1000995f
mov eax, dword [ebp - 0x120]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a4], 0x47f7ecfd
jmp 0x1000995f
mov dword [ebp - 0x1a4], 0x9c2d0b8b
jmp 0x1000995f
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.100247f0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x194], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x11c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10025590
add esp, 0xc
mov dword [ebp - 0x1a4], 0xc0023eb9
jmp 0x1000995f
lea eax, [ebp - 0x110]
xor ecx, ecx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ecx, eax
mov eax, dword [ebp - 0x190]
mov dword [eax], ecx
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x1a4], 0xb3aa39be
jmp 0x1000995f
mov dword [ebp - 0x1a4], 0x44a53abf
jmp 0x1000995f
mov eax, dword [ebp - 0x158]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a4], 0xc2886d6d
jmp 0x1000995f
mov ax, word [ebp - 0x14e]
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x1a4], 0xf372cf43
jmp 0x1000995f
mov ax, word [ebp - 0x148]
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x1a4], 0x505d2f45
jmp 0x1000995f
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x1a4], 0xd0842a2c
jmp 0x1000995f
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x138]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x40
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x170]
mov byte [eax], cl
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x924deb15
add edx, eax
add edx, 0x924deb15
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub ecx, 0x9ab9343a
add ecx, eax
add ecx, 0x9ab9343a
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov eax, dword [eax + 8]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.100256f0
add esp, 0xc
mov eax, dword [ebp - 0x174]
mov eax, dword [ebp - 0x178]
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x1a4], 0x1c49487
jmp 0x1000995f
mov eax, dword [ebp - 0x128]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x12c]
mov esi, dword [ebp - 0x12c]
xor eax, eax
sub eax, ecx
sub esi, eax
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x130]
sub esp, 0x10
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x170]
mov byte [eax], cl
mov dword [ebp - 0x1a4], 0x6aeb3e7e
jmp 0x1000995f
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x1a4], 0x29ee03b1
jmp 0x10008268