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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xac
mov eax, dword [ebp + 8]
mov dword [ebp - 0xac], eax
mov eax, dword [0x1008f480]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x1009095c]
mov eax, dword [0x10090958]
mov edx, ecx
add edx, 0x997f0075
sub edx, 1
sub edx, 0x997f0075
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0xa2], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0xa1], al
mov dword [ebp - 0xa8], 0x1b968333
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
sub eax, 0x889b8058
je 0x1000eecb
jmp 0x1000dfb3
mov eax, dword [ebp - 0xb0]
sub eax, 0x8d74884f
je 0x1000e96a
jmp 0x1000dfc9
mov eax, dword [ebp - 0xb0]
sub eax, 0x9372ceed
je 0x1000f13b
jmp 0x1000dfdf
mov eax, dword [ebp - 0xb0]
sub eax, 0x94151b53
je 0x1000ed0f
jmp 0x1000dff5
mov eax, dword [ebp - 0xb0]
sub eax, 0x945d7574
je 0x1000f193
jmp 0x1000e00b
mov eax, dword [ebp - 0xb0]
sub eax, 0x95f38185
je 0x1000f30a
jmp 0x1000e021
mov eax, dword [ebp - 0xb0]
sub eax, 0x9a9a904e
je 0x1000f080
jmp 0x1000e037
mov eax, dword [ebp - 0xb0]
sub eax, 0xad66b9bc
je 0x1000f385
jmp 0x1000e04d
mov eax, dword [ebp - 0xb0]
sub eax, 0xaf84fd24
je 0x1000eb1c
jmp 0x1000e063
mov eax, dword [ebp - 0xb0]
sub eax, 0xb12a8710
je 0x1000ec99
jmp 0x1000e079
mov eax, dword [ebp - 0xb0]
sub eax, 0xb2710148
je 0x1000f12c
jmp 0x1000e08f
mov eax, dword [ebp - 0xb0]
sub eax, 0xba1558f1
je 0x1000e8b7
jmp 0x1000e0a5
mov eax, dword [ebp - 0xb0]
sub eax, 0xc2b86023
je 0x1000e683
jmp 0x1000e0bb
mov eax, dword [ebp - 0xb0]
sub eax, 0xc4fe1009
je 0x1000f229
jmp 0x1000e0d1
mov eax, dword [ebp - 0xb0]
sub eax, 0xc8f8e9e5
je 0x1000f4da
jmp 0x1000e0e7
mov eax, dword [ebp - 0xb0]
sub eax, 0xcd7ae0af
je 0x1000ed67
jmp 0x1000e0fd
mov eax, dword [ebp - 0xb0]
sub eax, 0xd11a83ee
je 0x1000e692
jmp 0x1000e113
mov eax, dword [ebp - 0xb0]
sub eax, 0xd4fa4b2e
je 0x1000f2ec
jmp 0x1000e129
mov eax, dword [ebp - 0xb0]
sub eax, 0xdc12c10c
je 0x1000ebee
jmp 0x1000e13f
mov eax, dword [ebp - 0xb0]
sub eax, 0xdc648dea
je 0x1000f210
jmp 0x1000e155
mov eax, dword [ebp - 0xb0]
sub eax, 0xdef0ed27
je 0x1000ed95
jmp 0x1000e16b
mov eax, dword [ebp - 0xb0]
sub eax, 0xe0b805fb
je 0x1000f2d2
jmp 0x1000e181
mov eax, dword [ebp - 0xb0]
sub eax, 0xe17e316f
je 0x1000ead2
jmp 0x1000e197
mov eax, dword [ebp - 0xb0]
sub eax, 0xe1d611b7
je 0x1000ef48
jmp 0x1000e1ad
mov eax, dword [ebp - 0xb0]
sub eax, 0xf1a00622
je 0x1000f49b
jmp 0x1000e1c3
mov eax, dword [ebp - 0xb0]
sub eax, 0xf3135634
je 0x1000eafe
jmp 0x1000e1d9
mov eax, dword [ebp - 0xb0]
sub eax, 0xf4249779
je 0x1000eae1
jmp 0x1000e1ef
mov eax, dword [ebp - 0xb0]
sub eax, 0xf58e29c2
je 0x1000e9b8
jmp 0x1000e205
mov eax, dword [ebp - 0xb0]
sub eax, 0xf6c8d2e6
je 0x1000e6d2
jmp 0x1000e21b
mov eax, dword [ebp - 0xb0]
sub eax, 0xf7b0860b
je 0x1000ef60
jmp 0x1000e231
mov eax, dword [ebp - 0xb0]
sub eax, 0xfb18efa6
je 0x1000e7e0
jmp 0x1000e247
mov eax, dword [ebp - 0xb0]
sub eax, 0xfc89f68d
je 0x1000f3b3
jmp 0x1000e25d
mov eax, dword [ebp - 0xb0]
sub eax, 0x4841153
je 0x1000ec2a
jmp 0x1000e273
mov eax, dword [ebp - 0xb0]
sub eax, 0x68f82b3
je 0x1000f272
jmp 0x1000e289
mov eax, dword [ebp - 0xb0]
sub eax, 0xed5bab8
je 0x1000e740
jmp 0x1000e29f
mov eax, dword [ebp - 0xb0]
sub eax, 0x144bffda
je 0x1000f2c3
jmp 0x1000e2b5
mov eax, dword [ebp - 0xb0]
sub eax, 0x15c4efb4
je 0x1000f429
jmp 0x1000e2cb
mov eax, dword [ebp - 0xb0]
sub eax, 0x17e4417b
je 0x1000e9a9
jmp 0x1000e2e1
mov eax, dword [ebp - 0xb0]
sub eax, 0x1841faf5
je 0x1000f02f
jmp 0x1000e2f7
mov eax, dword [ebp - 0xb0]
sub eax, 0x1b0b3495
je 0x1000e979
jmp 0x1000e30d
mov eax, dword [ebp - 0xb0]
sub eax, 0x1b968333
je 0x1000e522
jmp 0x1000e323
mov eax, dword [ebp - 0xb0]
sub eax, 0x1c739547
je 0x1000f486
jmp 0x1000e339
mov eax, dword [ebp - 0xb0]
sub eax, 0x1e881dd9
je 0x1000f201
jmp 0x1000e34f
mov eax, dword [ebp - 0xb0]
sub eax, 0x21fcecd2
je 0x1000e576
jmp 0x1000e365
mov eax, dword [ebp - 0xb0]
sub eax, 0x22b0ca17
je 0x1000e80d
jmp 0x1000e37b
mov eax, dword [ebp - 0xb0]
sub eax, 0x22cbe3a2
je 0x1000ea09
jmp 0x1000e391
mov eax, dword [ebp - 0xb0]
sub eax, 0x253be922
je 0x1000f14a
jmp 0x1000e3a7
mov eax, dword [ebp - 0xb0]
sub eax, 0x303f74dc
je 0x1000ee7a
jmp 0x1000e3bd
mov eax, dword [ebp - 0xb0]
sub eax, 0x30d5be11
je 0x1000ec1b
jmp 0x1000e3d3
mov eax, dword [ebp - 0xb0]
sub eax, 0x333a999a
je 0x1000ef2a
jmp 0x1000e3e9
mov eax, dword [ebp - 0xb0]
sub eax, 0x37740804
je 0x1000ee2e
jmp 0x1000e3ff
mov eax, dword [ebp - 0xb0]
sub eax, 0x3b3d2467
je 0x1000f4ec
jmp 0x1000e415
mov eax, dword [ebp - 0xb0]
sub eax, 0x48713db4
je 0x1000eb92
jmp 0x1000e42b
mov eax, dword [ebp - 0xb0]
sub eax, 0x4d2b856c
je 0x1000ed76
jmp 0x1000e441
mov eax, dword [ebp - 0xb0]
sub eax, 0x52576b2a
je 0x1000edfb
jmp 0x1000e457
mov eax, dword [ebp - 0xb0]
sub eax, 0x53d88fa9
je 0x1000eddd
jmp 0x1000e46d
mov eax, dword [ebp - 0xb0]
sub eax, 0x57ad9fbd
je 0x1000f341
jmp 0x1000e483
mov eax, dword [ebp - 0xb0]
sub eax, 0x5a0e18b2
je 0x1000edbb
jmp 0x1000e499
mov eax, dword [ebp - 0xb0]
sub eax, 0x5bad9389
je 0x1000ebfd
jmp 0x1000e4af
mov eax, dword [ebp - 0xb0]
sub eax, 0x5c3ee64b
je 0x1000f352
jmp 0x1000e4c5
mov eax, dword [ebp - 0xb0]
sub eax, 0x6b76416b
je 0x1000f53f
jmp 0x1000e4db
mov eax, dword [ebp - 0xb0]
sub eax, 0x6fb0c419
je 0x1000f551
jmp 0x1000e4f1
mov eax, dword [ebp - 0xb0]
sub eax, 0x7b9458b2
je 0x1000e7fe
jmp 0x1000e507
mov eax, dword [ebp - 0xb0]
sub eax, 0x7fdbd54d
je 0x1000e866
jmp 0x1000e51d
jmp 0x1000f55b
mov bl, byte [ebp - 0xa2]
mov dh, byte [ebp - 0xa1]
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, 0x5c3ee64b
mov ecx, 0x21fcecd2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov ecx, dword [ebp - 0xac]
push eax
mov eax, esp
mov dword [ebp - 0xa0], eax
push eax
mov eax, esp
mov dword [ebp - 0x9c], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x98], eax
push eax
mov eax, esp
mov dword [ebp - 0x94], eax
push eax
mov eax, esp
mov dword [ebp - 0x90], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x8c], eax
push eax
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
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
push eax
mov eax, esp
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0xa0]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x9c]
mov dword [eax], ecx
mov ecx, dword [0x1009095c]
mov eax, dword [0x10090958]
mov edx, ecx
sub edx, 0x2b091207
sub edx, 1
add edx, 0x2b091207
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, 0x5c3ee64b
mov ecx, 0xc2b86023
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov dword [ebp - 0xa8], 0xd11a83ee
jmp 0x1000f55b
mov eax, dword [ebp - 0x98]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1002aa50
add esp, 0xc
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0xa8], 0xf6c8d2e6
jmp 0x1000f55b
mov ecx, dword [0x1009095c]
mov eax, dword [0x10090958]
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, 0xad66b9bc
mov ecx, 0xed5bab8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov eax, dword [ebp - 0x64]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x94]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x5d], al
mov ecx, dword [0x1009095c]
mov eax, dword [0x10090958]
mov edx, ecx
add edx, 0x8e13a1e1
sub edx, 1
sub edx, 0x8e13a1e1
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, 0xad66b9bc
mov ecx, 0xfb18efa6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov dl, byte [ebp - 0x5d]
mov eax, 0x7b9458b2
mov ecx, 0x22b0ca17
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov dword [ebp - 0xa8], 0x57ad9fbd
jmp 0x1000f55b
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x98]
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 - 0x98]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xa8], 0x7fdbd54d
jmp 0x1000f55b
mov eax, dword [0x1009095c]
mov ecx, dword [0x10090958]
mov edx, eax
add edx, 0x372da2bf
sub edx, 1
sub edx, 0x372da2bf
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, 0xfc89f68d
mov ecx, 0xba1558f1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x5c]
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 - 0x8c]
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 eax, dword [0x1009095c]
mov ecx, dword [0x10090958]
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, 0xfc89f68d
mov ecx, 0x8d74884f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov dword [ebp - 0xa8], 0x1b0b3495
jmp 0x1000f55b
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x58]
mov dword [eax], ecx
mov edx, dword [ebp - 0x88]
mov esi, 0xffffffff
mov eax, 0xf58e29c2
mov ecx, 0x17e4417b
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov dword [ebp - 0xa8], 0x57ad9fbd
jmp 0x1000f55b
mov eax, dword [0x1009095c]
mov ecx, dword [0x10090958]
mov edx, eax
add edx, 0x75dceeb4
sub edx, 1
sub edx, 0x75dceeb4
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, 0x15c4efb4
mov ecx, 0x22cbe3a2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov eax, dword [ebp - 0x88]
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 ecx, eax
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov ecx, dword [0x1009095c]
mov eax, dword [0x10090958]
mov edx, ecx
add edx, 0x9c67e6cb
sub edx, 1
sub edx, 0x9c67e6cb
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, 0x15c4efb4
mov ecx, 0xe17e316f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov dword [ebp - 0xa8], 0xf4249779
jmp 0x1000f55b
mov eax, dword [ebp - 0x54]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x4d], al
mov dword [ebp - 0xa8], 0xf3135634
jmp 0x1000f55b
mov dl, byte [ebp - 0x4d]
mov eax, 0xaf84fd24
mov ecx, 0x4841153
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov ecx, dword [0x1009095c]
mov eax, dword [0x10090958]
mov edx, ecx
sub edx, 0x6a776724
sub edx, 1
add edx, 0x6a776724
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, 0x1c739547
mov ecx, 0x48713db4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov eax, dword [0x1009095c]
mov ecx, dword [0x10090958]
mov edx, eax
sub edx, 0x7d6afe8
sub edx, 1
add edx, 0x7d6afe8
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, 0x1c739547
mov ecx, 0xdc12c10c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov dword [ebp - 0xa8], 0x5bad9389
jmp 0x1000f55b
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa8], 0x30d5be11
jmp 0x1000f55b
mov dword [ebp - 0xa8], 0x57ad9fbd
jmp 0x1000f55b
mov eax, dword [ebp - 0x84]
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 - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0xa8], 0xb12a8710
jmp 0x1000f55b
mov ecx, dword [0x1009095c]
mov eax, dword [0x10090958]
mov edx, ecx
sub edx, 0x14e18f4c
sub edx, 1
add edx, 0x14e18f4c
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, 0xf1a00622
mov ecx, 0x94151b53
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [0x1009095c]
mov ecx, dword [0x10090958]
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, 0xf1a00622
mov ecx, 0xcd7ae0af
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov dword [ebp - 0xa8], 0x4d2b856c
jmp 0x1000f55b
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov word [eax], 0
mov dword [ebp - 0xa8], 0xdef0ed27
jmp 0x1000f55b
mov eax, dword [ebp - 0x74]
movzx eax, word [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
add eax, 4
add eax, 2
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xa8], 0x5a0e18b2
jmp 0x1000f55b
mov eax, dword [ebp - 0x38]
movzx ecx, word [eax]
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x31], al
mov dword [ebp - 0xa8], 0x53d88fa9
jmp 0x1000f55b
mov dl, byte [ebp - 0x31]
mov eax, 0xe0b805fb
mov ecx, 0x52576b2a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
add eax, 0xe23edc
add eax, 0x18
sub eax, 0xe23edc
mov ecx, dword [ebp - 0x78]
mov ecx, dword [ecx]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xa8], 0x37740804
jmp 0x1000f55b
mov eax, dword [ebp - 0x74]
movzx eax, word [eax]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x30]
sub ecx, 0x7a2342d3
add ecx, eax
add ecx, 0x7a2342d3
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100388de
call fcn.1002e3b0
add esp, 8
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xa8], 0x303f74dc
jmp 0x1000f55b
mov eax, dword [0x1009095c]
mov ecx, dword [0x10090958]
mov edx, eax
sub edx, 0x780ad793
sub edx, 1
add edx, 0x780ad793
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, 0xc8f8e9e5
mov ecx, 0x889b8058
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov eax, dword [ebp - 0x2c]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x25], al
mov eax, dword [0x1009095c]
mov ecx, dword [0x10090958]
mov edx, eax
sub edx, 0xc7eb2d81
sub edx, 1
add edx, 0xc7eb2d81
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, 0xc8f8e9e5
mov ecx, 0x333a999a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov dl, byte [ebp - 0x25]
mov eax, 0xe1d611b7
mov ecx, 0x9372ceed
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0
mov dword [ebp - 0xa8], 0xf7b0860b
jmp 0x1000f55b
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0xad212fb4
add edx, eax
add edx, 0xad212fb4
mov eax, dword [ebp - 0x6c]
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 - 0x68]
mov byte [eax], cl
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub ecx, eax
mov eax, dword [ebp - 0x70]
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.1002abb0
add esp, 0xc
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xa8], 0x1841faf5
jmp 0x1000f55b
mov eax, dword [0x1009095c]
mov ecx, dword [0x10090958]
mov edx, eax
sub edx, 0x45926e99
sub edx, 1
add edx, 0x45926e99
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, 0x3b3d2467
mov ecx, 0x9a9a904e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
mov esi, dword [ebp - 0x1c]
xor eax, eax
sub eax, ecx
sub esi, eax
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
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 - 0x68]
mov byte [eax], cl
mov ecx, dword [0x1009095c]
mov eax, dword [0x10090958]
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, 0x3b3d2467
mov ecx, 0xb2710148
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov dword [ebp - 0xa8], 0x9372ceed
jmp 0x1000f55b
mov dword [ebp - 0xa8], 0x253be922
jmp 0x1000f55b
mov eax, dword [0x1009095c]
mov ecx, dword [0x10090958]
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, 0x6b76416b
mov ecx, 0x945d7574
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov eax, dword [ebp - 0x74]
mov ax, word [eax]
xor ecx, ecx
sub cx, ax
xor eax, eax
sub ax, 1
add cx, ax
xor eax, eax
sub ax, cx
mov word [ebp - 0x12], ax
mov eax, dword [0x1009095c]
mov ecx, dword [0x10090958]
mov edx, eax
sub edx, 0x97a47e09
sub edx, 1
add edx, 0x97a47e09
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, 0x6b76416b
mov ecx, 0x1e881dd9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov dword [ebp - 0xa8], 0xdc648dea
jmp 0x1000f55b
mov eax, dword [ebp - 0x74]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov dword [ebp - 0xa8], 0xc4fe1009
jmp 0x1000f55b
mov eax, dword [0x1009095c]
mov ecx, dword [0x10090958]
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, 0x6fb0c419
mov ecx, 0x68f82b3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov eax, dword [0x1009095c]
mov ecx, dword [0x10090958]
mov edx, eax
sub edx, 0xfb0cf57f
sub edx, 1
add edx, 0xfb0cf57f
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, 0x6fb0c419
mov ecx, 0x144bffda
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x1000f55b
mov dword [ebp - 0xa8], 0xdef0ed27
jmp 0x1000f55b
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xa8], 0xd4fa4b2e
jmp 0x1000f55b
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa8], 0x95f38185
jmp 0x1000f55b
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 - 0x9c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa8], 0x57ad9fbd
jmp 0x1000f55b
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.10029cb0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0xac]
push eax
mov eax, esp
push eax
mov edx, esp
mov dword [ebp - 0xb4], edx
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0xb4]
mov dword [eax], ecx
mov dword [ebp - 0xa8], 0x21fcecd2
jmp 0x1000f55b
mov eax, dword [ebp - 0x64]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x94]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0xa8], 0xed5bab8
jmp 0x1000f55b
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x5c]
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 - 0x8c]
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 - 0xa8], 0xba1558f1
jmp 0x1000f55b
mov eax, dword [ebp - 0x88]
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 ecx, eax
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xa8], 0x22cbe3a2
jmp 0x1000f55b
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0xa8], 0x48713db4
jmp 0x1000f55b
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xa8], 0x94151b53
jmp 0x1000f55b
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xa8], 0x889b8058
jmp 0x1000f55b
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x1c]
xor eax, eax
sub eax, ecx
sub esi, eax
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
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 - 0x68]
mov byte [eax], cl
mov dword [ebp - 0xa8], 0x9a9a904e
jmp 0x1000f55b
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xa8], 0x945d7574
jmp 0x1000f55b
mov dword [ebp - 0xa8], 0x68f82b3
jmp 0x1000df97