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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xa0
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa4], eax
mov eax, dword [0x1006ce04]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0xa0], 0xb2106795
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa8], eax
sub eax, 0x801ab0e3
je 0x100033cc
jmp 0x10001534
mov eax, dword [ebp - 0xa8]
sub eax, 0x8130cf05
je 0x10003df3
jmp 0x1000154a
mov eax, dword [ebp - 0xa8]
sub eax, 0x8142dc09
je 0x10004356
jmp 0x10001560
mov eax, dword [ebp - 0xa8]
sub eax, 0x8184365a
je 0x1000377d
jmp 0x10001576
mov eax, dword [ebp - 0xa8]
sub eax, 0x8434c050
je 0x100045d2
jmp 0x1000158c
mov eax, dword [ebp - 0xa8]
sub eax, 0x85d93e33
je 0x10003f23
jmp 0x100015a2
mov eax, dword [ebp - 0xa8]
sub eax, 0x85f734a8
je 0x10003803
jmp 0x100015b8
mov eax, dword [ebp - 0xa8]
sub eax, 0x86e0d621
je 0x10002685
jmp 0x100015ce
mov eax, dword [ebp - 0xa8]
sub eax, 0x8bd5c662
je 0x1000353d
jmp 0x100015e4
mov eax, dword [ebp - 0xa8]
sub eax, 0x8e572483
je 0x10003e44
jmp 0x100015fa
mov eax, dword [ebp - 0xa8]
sub eax, 0x90c5e54f
je 0x10002cca
jmp 0x10001610
mov eax, dword [ebp - 0xa8]
sub eax, 0x90eb3fad
je 0x10002fdd
jmp 0x10001626
mov eax, dword [ebp - 0xa8]
sub eax, 0x923f3203
je 0x100028c8
jmp 0x1000163c
mov eax, dword [ebp - 0xa8]
sub eax, 0x950b4977
je 0x1000262d
jmp 0x10001652
mov eax, dword [ebp - 0xa8]
sub eax, 0x98c2dc7c
je 0x1000413e
jmp 0x10001668
mov eax, dword [ebp - 0xa8]
sub eax, 0x9a0f808a
je 0x100043fd
jmp 0x1000167e
mov eax, dword [ebp - 0xa8]
sub eax, 0x9b8263f2
je 0x100043cd
jmp 0x10001694
mov eax, dword [ebp - 0xa8]
sub eax, 0xa1d88e03
je 0x1000308f
jmp 0x100016aa
mov eax, dword [ebp - 0xa8]
sub eax, 0xa2e3ec59
je 0x100023ff
jmp 0x100016c0
mov eax, dword [ebp - 0xa8]
sub eax, 0xa4aa1876
je 0x10002502
jmp 0x100016d6
mov eax, dword [ebp - 0xa8]
sub eax, 0xa925d659
je 0x100025a4
jmp 0x100016ec
mov eax, dword [ebp - 0xa8]
sub eax, 0xaeb89fcf
je 0x10003240
jmp 0x10001702
mov eax, dword [ebp - 0xa8]
sub eax, 0xaff4da89
je 0x10004347
jmp 0x10001718
mov eax, dword [ebp - 0xa8]
sub eax, 0xb1ed3b46
je 0x10003e53
jmp 0x1000172e
mov eax, dword [ebp - 0xa8]
sub eax, 0xb2106795
je 0x100020ff
jmp 0x10001744
mov eax, dword [ebp - 0xa8]
sub eax, 0xb4bccbd3
je 0x100043a9
jmp 0x1000175a
mov eax, dword [ebp - 0xa8]
sub eax, 0xb4c48ee9
je 0x100021ec
jmp 0x10001770
mov eax, dword [ebp - 0xa8]
sub eax, 0xb56cde84
je 0x1000425f
jmp 0x10001786
mov eax, dword [ebp - 0xa8]
sub eax, 0xb6c33230
je 0x10003595
jmp 0x1000179c
mov eax, dword [ebp - 0xa8]
sub eax, 0xb907358a
je 0x100027e7
jmp 0x100017b2
mov eax, dword [ebp - 0xa8]
sub eax, 0xb90cc0bd
je 0x10003cdb
jmp 0x100017c8
mov eax, dword [ebp - 0xa8]
sub eax, 0xbc7d3f7b
je 0x10003f12
jmp 0x100017de
mov eax, dword [ebp - 0xa8]
sub eax, 0xbe427f9e
je 0x100045e1
jmp 0x100017f4
mov eax, dword [ebp - 0xa8]
sub eax, 0xc3979440
je 0x100026fb
jmp 0x1000180a
mov eax, dword [ebp - 0xa8]
sub eax, 0xc4adad17
je 0x10003fa1
jmp 0x10001820
mov eax, dword [ebp - 0xa8]
sub eax, 0xc61b0147
je 0x10002148
jmp 0x10001836
mov eax, dword [ebp - 0xa8]
sub eax, 0xc9912260
je 0x10003ec9
jmp 0x1000184c
mov eax, dword [ebp - 0xa8]
sub eax, 0xcaf45e71
je 0x1000284c
jmp 0x10001862
mov eax, dword [ebp - 0xa8]
sub eax, 0xcfd7bcfb
je 0x10002b08
jmp 0x10001878
mov eax, dword [ebp - 0xa8]
sub eax, 0xd0a3e150
je 0x10004115
jmp 0x1000188e
mov eax, dword [ebp - 0xa8]
sub eax, 0xd38eaf86
je 0x10003c35
jmp 0x100018a4
mov eax, dword [ebp - 0xa8]
sub eax, 0xd5cdc93a
je 0x10002292
jmp 0x100018ba
mov eax, dword [ebp - 0xa8]
sub eax, 0xd80856b1
je 0x10003b74
jmp 0x100018d0
mov eax, dword [ebp - 0xa8]
sub eax, 0xd9fa3a19
je 0x10002dea
jmp 0x100018e6
mov eax, dword [ebp - 0xa8]
sub eax, 0xdac50a2a
je 0x10003a6f
jmp 0x100018fc
mov eax, dword [ebp - 0xa8]
sub eax, 0xdbacb10b
je 0x100040c8
jmp 0x10001912
mov eax, dword [ebp - 0xa8]
sub eax, 0xe1c872d7
je 0x10003700
jmp 0x10001928
mov eax, dword [ebp - 0xa8]
sub eax, 0xe3312fe2
je 0x100021fb
jmp 0x1000193e
mov eax, dword [ebp - 0xa8]
sub eax, 0xe39bbaac
je 0x10003ba6
jmp 0x10001954
mov eax, dword [ebp - 0xa8]
sub eax, 0xec0773a5
je 0x10004365
jmp 0x1000196a
mov eax, dword [ebp - 0xa8]
sub eax, 0xece42946
je 0x1000405b
jmp 0x10001980
mov eax, dword [ebp - 0xa8]
sub eax, 0xef35dbe3
je 0x10002d66
jmp 0x10001996
mov eax, dword [ebp - 0xa8]
sub eax, 0xefd7b69a
je 0x10002b59
jmp 0x100019ac
mov eax, dword [ebp - 0xa8]
sub eax, 0xf28620ef
je 0x10002958
jmp 0x100019c2
mov eax, dword [ebp - 0xa8]
sub eax, 0xf2ac8aed
je 0x100043dc
jmp 0x100019d8
mov eax, dword [ebp - 0xa8]
sub eax, 0xf449dc8c
je 0x10003a7e
jmp 0x100019ee
mov eax, dword [ebp - 0xa8]
sub eax, 0xf6bc4fe7
je 0x10002c4c
jmp 0x10001a04
mov eax, dword [ebp - 0xa8]
sub eax, 0xf8c9aedb
je 0x1000443f
jmp 0x10001a1a
mov eax, dword [ebp - 0xa8]
sub eax, 0xfd26f0f5
je 0x10003fe5
jmp 0x10001a30
mov eax, dword [ebp - 0xa8]
sub eax, 0xfd89f133
je 0x10002ec0
jmp 0x10001a46
mov eax, dword [ebp - 0xa8]
sub eax, 0xff60dfcb
je 0x10003042
jmp 0x10001a5c
mov eax, dword [ebp - 0xa8]
sub eax, 0xffd58c6d
je 0x100029db
jmp 0x10001a72
mov eax, dword [ebp - 0xa8]
sub eax, 0x15badf4
je 0x100043b8
jmp 0x10001a88
mov eax, dword [ebp - 0xa8]
sub eax, 0x4f2c7eb
je 0x10003888
jmp 0x10001a9e
mov eax, dword [ebp - 0xa8]
sub eax, 0x5d822ac
je 0x100034fc
mov eax, dword [0x1006e0a8]
mov ecx, dword [0x1006e0a4]
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, 0xaff4da89
mov ecx, 0xc61b0147
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
push eax
sub esp, 8
mov eax, esp
mov dword [ebp - 0x94], eax
push eax
mov eax, esp
mov dword [ebp - 0x90], eax
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x88], eax
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
push eax
mov eax, esp
mov dword [ebp - 0x80], eax
push eax
mov eax, esp
mov dword [ebp - 0x7c], eax
push eax
mov eax, esp
mov dword [ebp - 0x78], eax
push eax
mov eax, esp
mov dword [ebp - 0x74], eax
push eax
mov eax, esp
mov dword [ebp - 0x70], eax
mov eax, dword [0x1006e0a8]
mov ecx, dword [0x1006e0a4]
mov edx, eax
add edx, 0xdf9f4c1b
sub edx, 1
sub edx, 0xdf9f4c1b
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, 0xaff4da89
mov ecx, 0xb4c48ee9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov dword [ebp - 0xa0], 0xe3312fe2
jmp 0x10004627
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
push eax
mov eax, esp
mov dword [ebp - 0x68], eax
push eax
mov eax, esp
mov dword [ebp - 0x64], eax
mov dword [ebp - 0xa0], 0xab705c5
jmp 0x10004627
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x98], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x94]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10010110
add esp, 0xc
mov eax, dword [ebp - 0x98]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
mov eax, dword [0x1006e0a8]
mov ecx, dword [0x1006e0a4]
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, 0x85d93e33
mov ecx, 0x5c367e2c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov dword [ebp - 0xa0], 0x22fc2e9f
jmp 0x10004627
mov eax, dword [0x1006e0a8]
mov ecx, dword [0x1006e0a4]
mov edx, eax
add edx, 0x95f18dc9
sub edx, 1
sub edx, 0x95f18dc9
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, 0xc4adad17
mov ecx, 0x387f597d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x94]
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 - 0x94]
mov dword [ebp - 0x5c], eax
mov eax, dword [0x1006e0a8]
mov ecx, dword [0x1006e0a4]
mov edx, eax
sub edx, 0x3be0e40a
sub edx, 1
add edx, 0x3be0e40a
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, 0xec0773a5
mov ecx, 0x950b4977
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov eax, dword [0x1006e0a8]
mov ecx, dword [0x1006e0a4]
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, 0xc4adad17
mov ecx, 0x2e4f9713
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov ecx, dword [0x1006e0a8]
mov eax, dword [0x1006e0a4]
mov edx, ecx
sub edx, 0x7959b5a0
sub edx, 1
add edx, 0x7959b5a0
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, 0xb4bccbd3
mov ecx, 0xc3979440
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov ecx, dword [0x1006e0a8]
mov eax, dword [0x1006e0a4]
mov edx, ecx
add edx, 0xc8ebad0a
sub edx, 1
sub edx, 0xc8ebad0a
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, 0xb4bccbd3
mov ecx, 0x46e6beb7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
mov eax, dword [0x1006e0a8]
mov ecx, dword [0x1006e0a4]
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, 0xfd26f0f5
mov ecx, 0x701d3ca6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x90]
mov ecx, dword [ecx]
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 eax, dword [ebp - 0x88]
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 dword [ebp - 0x58], eax
mov dword [ebp - 0xa0], 0x923f3203
jmp 0x10004627
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x58]
mov dword [eax], ecx
mov dword [ebp - 0xa0], 0x1ccc9a99
jmp 0x10004627
mov eax, dword [ebp - 0x84]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x51], al
mov ecx, dword [0x1006e0a8]
mov eax, dword [0x1006e0a4]
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, 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, 0x15badf4
mov ecx, 0xffd58c6d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov dl, byte [ebp - 0x51]
mov eax, 0x7b276834
mov ecx, 0x69e4f93d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov eax, dword [0x1006e0a8]
mov ecx, dword [0x1006e0a4]
mov edx, eax
sub edx, 0xc1e1cdea
sub edx, 1
add edx, 0xc1e1cdea
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, 0x9b8263f2
mov ecx, 0xefd7b69a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov ecx, dword [0x1006e0a8]
mov eax, dword [0x1006e0a4]
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, 0x9b8263f2
mov ecx, 0x783eb8d0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov ecx, dword [0x1006e0a8]
mov eax, dword [0x1006e0a4]
mov edx, ecx
add edx, 0x908f4b79
sub edx, 1
sub edx, 0x908f4b79
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, 0xd0a3e150
mov ecx, 0x90c5e54f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov dword [ebp - 0xa0], 0x41e608c4
jmp 0x10004627
mov eax, dword [ebp - 0x4c]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x45], al
mov ecx, dword [0x1006e0a8]
mov eax, dword [0x1006e0a4]
mov edx, ecx
add edx, 0x35ee1b84
sub edx, 1
sub edx, 0x35ee1b84
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, 0xf2ac8aed
mov ecx, 0xd9fa3a19
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov dword [ebp - 0xa0], 0x76be2d55
jmp 0x10004627
mov dl, byte [ebp - 0x45]
mov eax, 0xc3e0cf9
mov ecx, 0x31408a30
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov dword [ebp - 0xa0], 0xb1ed3b46
jmp 0x10004627
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x78]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x3c]
add eax, 0x75ff8db0
add eax, ecx
sub eax, 0x75ff8db0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xa0], 0x360f4b6b
jmp 0x10004627
mov eax, dword [ebp - 0x70]
movzx eax, word [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xa0], 0x40ee1c35
jmp 0x10004627
mov ecx, dword [0x1006e0a8]
mov eax, dword [0x1006e0a4]
mov edx, ecx
add edx, 0x31149345
sub edx, 1
sub edx, 0x31149345
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, 0x67e4e812
mov ecx, 0x3d0547fa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov dl, byte [ebp - 0x31]
mov eax, 0x4c6bc4dc
mov ecx, 0x33e9992c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov ax, word [ebp - 0x22]
movzx eax, ax
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x28]
add ecx, 0xbdab0f0a
add ecx, eax
sub ecx, 0xbdab0f0a
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x1001a190
call fcn.100110a0
add esp, 8
mov edx, eax
mov eax, 0xb6c33230
mov ecx, 0x36de469f
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov eax, dword [0x1006e0a8]
mov ecx, dword [0x1006e0a4]
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, 0xf8c9aedb
mov ecx, 0x212c8372
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov dword [ebp - 0xa0], 0x4708334f
jmp 0x10004627
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov esi, dword [ebp - 0x18]
add esi, 0x849140ba
add esi, eax
sub esi, 0x849140ba
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
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]
mov dword [ebp - 0x14], eax
mov eax, dword [0x1006e0a8]
mov ecx, dword [0x1006e0a4]
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, 0x4b5f7a19
mov ecx, 0x85f734a8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov dword [ebp - 0xa0], 0x637fa321
jmp 0x10004627
mov eax, dword [0x1006e0a8]
mov ecx, dword [0x1006e0a4]
mov edx, eax
add edx, 0xa3dd3d3b
sub edx, 1
sub edx, 0xa3dd3d3b
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, 0x2a92f89d
mov ecx, 0x9ed7fc7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov dword [ebp - 0xa0], 0xf449dc8c
jmp 0x10004627
mov ecx, dword [0x1006e0a8]
mov eax, dword [0x1006e0a4]
mov edx, ecx
add edx, 0xce1d3d17
sub edx, 1
sub edx, 0xce1d3d17
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, 0xb56cde84
mov ecx, 0x29f8e987
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov dword [ebp - 0xa0], 0x75f5024d
jmp 0x10004627
mov eax, dword [ebp - 0x70]
mov cx, word [ebp - 0xe]
mov word [eax], cx
mov dword [ebp - 0xa0], 0xa1d88e03
jmp 0x10004627
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x1006e0a8]
mov ecx, dword [0x1006e0a4]
mov edx, eax
sub edx, 0x57575f87
sub edx, 1
add edx, 0x57575f87
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, 0x6b6c1055
mov ecx, 0x6acd5cea
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov eax, dword [0x1006e0a8]
mov ecx, dword [0x1006e0a4]
mov edx, eax
sub edx, 0xce962e0b
sub edx, 1
add edx, 0xce962e0b
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, 0x75c1af8b
mov ecx, 0x39268118
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov eax, dword [0x1006e0a8]
mov ecx, dword [0x1006e0a4]
mov edx, eax
sub edx, 0xdff454ee
sub edx, 1
add edx, 0xdff454ee
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, 0x75c1af8b
mov ecx, 0x8e572483
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov dword [ebp - 0xa0], 0xb1ed3b46
jmp 0x10004627
mov ecx, dword [0x1006e0a8]
mov eax, dword [0x1006e0a4]
mov edx, ecx
sub edx, 0xe1330ba0
sub edx, 1
add edx, 0xe1330ba0
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, 0x8434c050
mov ecx, 0xc9912260
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov eax, dword [0x1006e0a8]
mov ecx, dword [0x1006e0a4]
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, 0x8434c050
mov ecx, 0xbc7d3f7b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.1000f4e0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x98], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x94]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10010110
add esp, 0xc
mov eax, dword [ebp - 0x98]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xa0], 0xd5cdc93a
jmp 0x10004627
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x94]
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 - 0x94]
mov dword [ebp - 0xa0], 0x387f597d
jmp 0x10004627
mov ecx, dword [0x1006e0a8]
mov eax, dword [0x1006e0a4]
mov edx, ecx
sub edx, 0xf57000e3
sub edx, 1
add edx, 0xf57000e3
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, 0xbe427f9e
mov ecx, 0xece42946
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
mov eax, dword [0x1006e0a8]
mov ecx, dword [0x1006e0a4]
mov edx, eax
add edx, 0x63b6861e
sub edx, 1
sub edx, 0x63b6861e
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, 0xbe427f9e
mov ecx, 0x630c669d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004627
mov eax, dword [ebp - 0x84]
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 - 0xa0], 0x4c3c4eb2
jmp 0x10004627
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov dword [ebp - 0xa0], 0xf6bc4fe7
jmp 0x10004627
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xa0], 0x5244ff4f
jmp 0x10004627
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xa0], 0x29f8e987
jmp 0x10004627
mov dword [ebp - 0xa0], 0xc61b0147
jmp 0x10004627
mov dword [ebp - 0xa0], 0x37495454
jmp 0x10004627
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x94]
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 - 0x94]
mov dword [ebp - 0xa0], 0xa925d659
jmp 0x10004627
mov dword [ebp - 0xa0], 0xc3979440
jmp 0x10004627
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xa0], 0xf28620ef
jmp 0x10004627
mov dword [ebp - 0xa0], 0xefd7b69a
jmp 0x10004627
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xa0], 0xef35dbe3
jmp 0x10004627
mov dword [ebp - 0xa0], 0x343b1ee8
jmp 0x10004627
mov eax, dword [ebp - 0x68]
mov dword [eax], 0
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x8c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, edx
xor edx, edx
sub edx, esi
add eax, edx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x68]
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 - 0x64]
mov byte [eax], cl
mov eax, dword [ebp - 0x8c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0x3ea1409d
add edx, eax
sub edx, 0x3ea1409d
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, esi
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x6c]
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.10010270
add esp, 0xc
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa0], 0x212c8372
jmp 0x10004627
mov dword [ebp - 0xa0], 0xc9912260
jmp 0x10004627
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
mov dword [ebp - 0xa0], 0xece42946
jmp 0x10004627
jmp 0x10001518