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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xa4
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa8], eax
mov eax, dword [0x10065c04]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x10066ea8]
mov eax, dword [0x10066ea4]
mov edx, ecx
add edx, 0x47ea25f6
sub edx, 1
sub edx, 0x47ea25f6
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x9e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x9d], al
mov dword [ebp - 0xa4], 0xbf1d3b88
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xac], eax
sub eax, 0x8577d240
je 0x100043fe
jmp 0x10001db3
mov eax, dword [ebp - 0xac]
sub eax, 0x8907c3b2
je 0x10004146
jmp 0x10001dc9
mov eax, dword [ebp - 0xac]
sub eax, 0x8953dfa8
je 0x100028a0
jmp 0x10001ddf
mov eax, dword [ebp - 0xac]
sub eax, 0x899fecaf
je 0x10003666
jmp 0x10001df5
mov eax, dword [ebp - 0xac]
sub eax, 0x8b1979b9
je 0x100045a2
jmp 0x10001e0b
mov eax, dword [ebp - 0xac]
sub eax, 0x8b1d388d
je 0x10002b96
jmp 0x10001e21
mov eax, dword [ebp - 0xac]
sub eax, 0x8b9c0ecb
je 0x1000281a
jmp 0x10001e37
mov eax, dword [ebp - 0xac]
sub eax, 0x8ca98631
je 0x10003b2a
jmp 0x10001e4d
mov eax, dword [ebp - 0xac]
sub eax, 0x8cc2da8e
je 0x10003fb1
jmp 0x10001e63
mov eax, dword [ebp - 0xac]
sub eax, 0x8d699f89
je 0x10003462
jmp 0x10001e79
mov eax, dword [ebp - 0xac]
sub eax, 0x8ef76e8b
je 0x1000423c
jmp 0x10001e8f
mov eax, dword [ebp - 0xac]
sub eax, 0x90d80481
je 0x10002891
jmp 0x10001ea5
mov eax, dword [ebp - 0xac]
sub eax, 0x9361448b
je 0x1000448d
jmp 0x10001ebb
mov eax, dword [ebp - 0xac]
sub eax, 0x96990936
je 0x100038b2
jmp 0x10001ed1
mov eax, dword [ebp - 0xac]
sub eax, 0x98a40b4e
je 0x10002b64
jmp 0x10001ee7
mov eax, dword [ebp - 0xac]
sub eax, 0x9b31de27
je 0x1000318d
jmp 0x10001efd
mov eax, dword [ebp - 0xac]
sub eax, 0xa27ab9e3
je 0x10004009
jmp 0x10001f13
mov eax, dword [ebp - 0xac]
sub eax, 0xa37698c7
je 0x1000399d
jmp 0x10001f29
mov eax, dword [ebp - 0xac]
sub eax, 0xa6e2af3a
je 0x10002dd4
jmp 0x10001f3f
mov eax, dword [ebp - 0xac]
sub eax, 0xa707cdc4
je 0x10002a2f
jmp 0x10001f55
mov eax, dword [ebp - 0xac]
sub eax, 0xab5f9790
je 0x10002c0b
jmp 0x10001f6b
mov eax, dword [ebp - 0xac]
sub eax, 0xadc0b1b4
je 0x100033a3
jmp 0x10001f81
mov eax, dword [ebp - 0xac]
sub eax, 0xae57418e
je 0x10003c49
jmp 0x10001f97
mov eax, dword [ebp - 0xac]
sub eax, 0xaf495f63
je 0x10004197
jmp 0x10001fad
mov eax, dword [ebp - 0xac]
sub eax, 0xb7c413aa
je 0x10002a80
jmp 0x10001fc3
mov eax, dword [ebp - 0xac]
sub eax, 0xbbd265e5
je 0x10004341
jmp 0x10001fd9
mov eax, dword [ebp - 0xac]
sub eax, 0xbcd75cf8
je 0x10003803
jmp 0x10001fef
mov eax, dword [ebp - 0xac]
sub eax, 0xbf1d3b88
je 0x100027c6
jmp 0x10002005
mov eax, dword [ebp - 0xac]
sub eax, 0xc2cec36b
je 0x10003c00
jmp 0x1000201b
mov eax, dword [ebp - 0xac]
sub eax, 0xc54133c2
je 0x1000421c
jmp 0x10002031
mov eax, dword [ebp - 0xac]
sub eax, 0xc921052a
je 0x10003e58
jmp 0x10002047
mov eax, dword [ebp - 0xac]
sub eax, 0xcc8fffcb
je 0x100037eb
jmp 0x1000205d
mov eax, dword [ebp - 0xac]
sub eax, 0xcd797bef
je 0x100044ba
jmp 0x10002073
mov eax, dword [ebp - 0xac]
sub eax, 0xd1b043c0
je 0x10004350
jmp 0x10002089
mov eax, dword [ebp - 0xac]
sub eax, 0xd254d9e3
je 0x100031a7
jmp 0x1000209f
mov eax, dword [ebp - 0xac]
sub eax, 0xd325dc9b
je 0x100044d4
jmp 0x100020b5
mov eax, dword [ebp - 0xac]
sub eax, 0xd3ac794a
je 0x100042a3
jmp 0x100020cb
mov eax, dword [ebp - 0xac]
sub eax, 0xd8234505
je 0x100044f5
jmp 0x100020e1
mov eax, dword [ebp - 0xac]
sub eax, 0xda81dc09
je 0x100039bb
jmp 0x100020f7
mov eax, dword [ebp - 0xac]
sub eax, 0xdbd02378
je 0x100028b8
jmp 0x1000210d
mov eax, dword [ebp - 0xac]
sub eax, 0xdc9b96a6
je 0x100032cd
jmp 0x10002123
mov eax, dword [ebp - 0xac]
sub eax, 0xde66c91c
je 0x100044ab
jmp 0x10002139
mov eax, dword [ebp - 0xac]
sub eax, 0xdf4b8fcd
je 0x10002fe8
jmp 0x1000214f
mov eax, dword [ebp - 0xac]
sub eax, 0xe1224cec
je 0x10003e49
jmp 0x10002165
mov eax, dword [ebp - 0xac]
sub eax, 0xe3e09e41
je 0x100040e9
jmp 0x1000217b
mov eax, dword [ebp - 0xac]
sub eax, 0xe4fed056
je 0x10004666
jmp 0x10002191
mov eax, dword [ebp - 0xac]
sub eax, 0xe571d4ea
je 0x100036ed
jmp 0x100021a7
mov eax, dword [ebp - 0xac]
sub eax, 0xe645093c
je 0x1000447e
jmp 0x100021bd
mov eax, dword [ebp - 0xac]
sub eax, 0xe86dc31c
je 0x10002ed7
jmp 0x100021d3
mov eax, dword [ebp - 0xac]
sub eax, 0xec02cfe3
je 0x10003928
jmp 0x100021e9
mov eax, dword [ebp - 0xac]
sub eax, 0xefcc0ce0
je 0x10002b73
jmp 0x100021ff
mov eax, dword [ebp - 0xac]
sub eax, 0xf0f758c5
je 0x1000424b
jmp 0x10002215
mov eax, dword [ebp - 0xac]
sub eax, 0xf16fb222
je 0x1000449c
jmp 0x1000222b
mov eax, dword [ebp - 0xac]
sub eax, 0xf190272b
je 0x10002d06
jmp 0x10002241
mov eax, dword [ebp - 0xac]
sub eax, 0xf44f13b3
je 0x10003dce
jmp 0x10002257
mov eax, dword [ebp - 0xac]
sub eax, 0xf74a6f58
je 0x10004654
jmp 0x1000226d
mov eax, dword [ebp - 0xac]
sub eax, 0xf776499c
je 0x10002cf7
jmp 0x10002283
mov eax, dword [ebp - 0xac]
sub eax, 0xf7aae3dc
je 0x10003ba0
jmp 0x10002299
mov eax, dword [ebp - 0xac]
sub eax, 0xf9ffa34e
je 0x10003522
jmp 0x100022af
mov eax, dword [ebp - 0xac]
sub eax, 0xfa3e5acf
je 0x1000438d
jmp 0x100022c5
mov eax, dword [ebp - 0xac]
sub eax, 0xfbae2548
je 0x10003598
jmp 0x100022db
mov eax, dword [ebp - 0xac]
sub eax, 0xfd7dc643
je 0x100040da
jmp 0x100022f1
mov eax, dword [ebp - 0xac]
sub eax, 0xff55ea09
je 0x10003343
jmp 0x10002307
mov eax, dword [ebp - 0xac]
sub eax, 0x1778aaa
je 0x100044e3
jmp 0x1000231d
mov eax, dword [ebp - 0xac]
sub eax, 0x5d16e0a
je 0x10003d49
mov bl, byte [ebp - 0x9e]
mov dh, byte [ebp - 0x9d]
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, 0xe645093c
mov ecx, 0x8b9c0ecb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
push eax
mov eax, esp
mov dword [ebp - 0x9c], eax
push eax
mov eax, esp
mov dword [ebp - 0x98], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x94], eax
push eax
mov eax, esp
mov dword [ebp - 0x90], eax
mov eax, dword [0x10066ea8]
mov ecx, dword [0x10066ea4]
mov edx, eax
add edx, 0x919a8c11
sub edx, 1
sub edx, 0x919a8c11
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, 0xe645093c
mov ecx, 0x90d80481
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov dword [ebp - 0xa4], 0x8953dfa8
jmp 0x100046f4
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0xa4], 0xdbd02378
jmp 0x100046f4
mov eax, dword [0x10066ea8]
mov ecx, dword [0x10066ea4]
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, 0x8ef76e8b
mov ecx, 0x609739e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov eax, dword [0x10066ea8]
mov ecx, dword [0x10066ea4]
mov edx, eax
add edx, 0x948311c4
sub edx, 1
sub edx, 0x948311c4
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, 0x8ef76e8b
mov ecx, 0xb7c413aa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov ecx, dword [0x10066ea8]
mov eax, dword [0x10066ea4]
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, 0xf16fb222
mov ecx, 0xb2f9f2a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov dword [ebp - 0xa4], 0xefcc0ce0
jmp 0x100046f4
mov ecx, dword [ebp - 0xa8]
push eax
mov eax, esp
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x9c]
mov dword [eax], ecx
mov dword [ebp - 0xa4], 0x8b1d388d
jmp 0x100046f4
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
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.1000f8a0
add esp, 0xc
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax]
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 edx, dword [ebp - 0x90]
mov eax, 0xab5f9790
mov ecx, 0xf190272b
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov ecx, dword [0x10066ea8]
mov eax, dword [0x10066ea4]
mov edx, ecx
add edx, 0x83e81405
sub edx, 1
sub edx, 0x83e81405
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, 0xde66c91c
mov ecx, 0x56083a62
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov dword [ebp - 0xa4], 0x28e7ef24
jmp 0x100046f4
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
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 - 0x60], eax
mov dword [ebp - 0xa4], 0x26f530b0
jmp 0x100046f4
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x5c]
mov dword [eax], ecx
mov eax, dword [0x10066ea8]
mov ecx, dword [0x10066ea4]
mov edx, eax
add edx, 0xd10a27a0
sub edx, 1
sub edx, 0xd10a27a0
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, 0xcd797bef
mov ecx, 0x6ae977ea
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov dl, byte [ebp - 0x55]
mov eax, 0xdf4b8fcd
mov ecx, 0x360867e1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
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 - 0x54], eax
mov dword [ebp - 0xa4], 0x1a938350
jmp 0x100046f4
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0xa4], 0xd254d9e3
jmp 0x100046f4
mov eax, dword [ebp - 0x48]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa4], 0x6ae6c1a5
jmp 0x100046f4
mov ecx, dword [0x10066ea8]
mov eax, dword [0x10066ea4]
mov edx, ecx
add edx, 0x5e842dbb
sub edx, 1
sub edx, 0x5e842dbb
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, 0xf0f758c5
mov ecx, 0xff55ea09
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov dword [ebp - 0xa4], 0x28e7ef24
jmp 0x100046f4
mov eax, dword [0x10066ea8]
mov ecx, dword [0x10066ea4]
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, 0x75a24f4d
mov ecx, 0x3c6e15b4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov eax, dword [ebp - 0x80]
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 - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov ecx, dword [0x10066ea8]
mov eax, dword [0x10066ea4]
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, 0x9c590df
mov ecx, 0xf9ffa34e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov ecx, dword [0x10066ea8]
mov eax, dword [0x10066ea4]
mov edx, ecx
sub edx, 0xb6be40d9
sub edx, 1
add edx, 0xb6be40d9
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, 0x75c72e8a
mov ecx, 0xfbae2548
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov ecx, dword [0x10066ea8]
mov eax, dword [0x10066ea4]
mov edx, ecx
add edx, 0x35eb057c
sub edx, 1
sub edx, 0x35eb057c
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, 0x75c72e8a
mov ecx, 0x32230667
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x10066ea8]
mov eax, dword [0x10066ea4]
mov edx, ecx
add edx, 0x36f8910
sub edx, 1
sub edx, 0x36f8910
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, 0xd1b043c0
mov ecx, 0xe571d4ea
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov eax, dword [0x10066ea8]
mov ecx, dword [0x10066ea4]
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, 0x4aab155b
mov ecx, 0xb61791a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov eax, dword [ebp - 0x70]
movzx eax, word [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xa4], 0xbcd75cf8
jmp 0x100046f4
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
add eax, 4
add eax, 2
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xa4], 0x42656cc2
jmp 0x100046f4
mov ecx, dword [0x10066ea8]
mov eax, dword [0x10066ea4]
mov edx, ecx
sub edx, 0xc0950f19
sub edx, 1
add edx, 0xc0950f19
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, 0x300719d4
mov ecx, 0xec02cfe3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov ecx, dword [ebp - 0x2c]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x10019190
call fcn.10010830
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x25], al
mov eax, dword [0x10066ea8]
mov ecx, dword [0x10066ea4]
mov edx, eax
add edx, 0x809f191f
sub edx, 1
sub edx, 0x809f191f
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, 0x300719d4
mov ecx, 0xa37698c7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov dl, byte [ebp - 0x25]
mov eax, 0xda81dc09
mov ecx, 0xc921052a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov eax, dword [0x10066ea8]
mov ecx, dword [0x10066ea4]
mov edx, eax
add edx, 0xf235d578
sub edx, 1
sub edx, 0xf235d578
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, 0xfa3e5acf
mov ecx, 0x5571a96d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov ecx, dword [0x10066ea8]
mov eax, dword [0x10066ea4]
mov edx, ecx
sub edx, 0x21a70e38
sub edx, 1
add edx, 0x21a70e38
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, 0xfa3e5acf
mov ecx, 0xf7aae3dc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov dword [ebp - 0xa4], 0x5a939b9a
jmp 0x100046f4
mov eax, dword [0x10066ea8]
mov ecx, dword [0x10066ea4]
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, 0x8b1979b9
mov ecx, 0xae57418e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x24]
xor eax, eax
sub eax, ecx
sub edx, eax
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, esi
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.1000fa00
add esp, 0xc
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x6c]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [0x10066ea8]
mov ecx, dword [0x10066ea4]
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, 0x8b1979b9
mov ecx, 0x43f1b774
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
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 - 0x64]
mov byte [eax], cl
mov eax, dword [0x10066ea8]
mov ecx, dword [0x10066ea4]
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, 0x3ea7b9d4
mov ecx, 0xe1224cec
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov dword [ebp - 0xa4], 0xc921052a
jmp 0x100046f4
mov dword [ebp - 0xa4], 0x27836fdc
jmp 0x100046f4
mov eax, dword [0x10066ea8]
mov ecx, dword [0x10066ea4]
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, 0x35a6183b
mov ecx, 0x6ceca689
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov ecx, dword [0x10066ea8]
mov eax, dword [0x10066ea4]
mov edx, ecx
add edx, 0x46e18128
sub edx, 1
sub edx, 0x46e18128
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, 0xe4fed056
mov ecx, 0x61dc43b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov dword [ebp - 0xa4], 0xe3e09e41
jmp 0x100046f4
mov dword [ebp - 0xa4], 0xcc8fffcb
jmp 0x100046f4
mov eax, dword [0x10066ea8]
mov ecx, dword [0x10066ea4]
mov edx, eax
sub edx, 0x70ea2e1e
sub edx, 1
add edx, 0x70ea2e1e
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, 0x826e4c9
mov ecx, 0xaf495f63
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x10066ea8]
mov eax, dword [0x10066ea4]
mov edx, ecx
add edx, 0x496b5355
sub edx, 1
sub edx, 0x496b5355
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, 0x826e4c9
mov ecx, 0xc54133c2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov dword [ebp - 0xa4], 0x28e7ef24
jmp 0x100046f4
mov dword [ebp - 0xa4], 0x609739e
jmp 0x100046f4
mov dword [ebp - 0xa4], 0xdc9b96a6
jmp 0x100046f4
mov eax, dword [ebp - 0x80]
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 - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov eax, dword [0x10066ea8]
mov ecx, dword [0x10066ea4]
mov edx, eax
add edx, 0xcd20018c
sub edx, 1
sub edx, 0xcd20018c
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, 0x66cc557a
mov ecx, 0xbbd265e5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x100046f4
mov dword [ebp - 0xa4], 0x8d699f89
jmp 0x100046f4
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0xa4], 0x899fecaf
jmp 0x100046f4
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 eax, dword [eax + 0xc]
sub edx, 0x61c00ad1
add edx, eax
add edx, 0x61c00ad1
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 dword [ebp - 0xa4], 0x5571a96d
jmp 0x100046f4
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
xor eax, eax
sub eax, ecx
sub edx, eax
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.1000fa00
add esp, 0xc
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xa4], 0xc2cec36b
jmp 0x100046f4
mov dword [ebp - 0xa4], 0x8b9c0ecb
jmp 0x100046f4
mov dword [ebp - 0xa4], 0x17900b7c
jmp 0x100046f4
mov dword [ebp - 0xa4], 0xb2f9f2a
jmp 0x100046f4
mov dword [ebp - 0xa4], 0x56083a62
jmp 0x100046f4
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x5c]
mov dword [eax], ecx
mov dword [ebp - 0xa4], 0xa6e2af3a
jmp 0x100046f4
mov dword [ebp - 0xa4], 0x365bfd1a
jmp 0x100046f4
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xa4], 0x190de8d7
jmp 0x100046f4
mov dword [ebp - 0xa4], 0x323399df
jmp 0x100046f4
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
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 - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
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.1000fa00
add esp, 0xc
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xa4], 0xae57418e
jmp 0x100046f4
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xa4], 0x4fc5ae25
jmp 0x100046f4
mov eax, dword [ebp - 0x70]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov dword [ebp - 0xa4], 0x61dc43b
jmp 0x100046f4
jmp 0x10001d97