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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xb4
mov eax, dword [ebp + 8]
mov dword [ebp - 0xbc], eax
mov eax, dword [0x1006b004]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x1006c2a8]
mov eax, dword [0x1006c2a4]
mov edx, ecx
add edx, 0x3794623a
sub edx, 1
sub edx, 0x3794623a
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0xb2], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0xb1], al
mov dword [ebp - 0xb8], 0x6620c4d5
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xc0], eax
sub eax, 0x8194c929
je 0x10002a99
jmp 0x10001714
mov eax, dword [ebp - 0xc0]
sub eax, 0x81c35daf
je 0x100025f9
jmp 0x1000172a
mov eax, dword [ebp - 0xc0]
sub eax, 0x8798d75b
je 0x1000348a
jmp 0x10001740
mov eax, dword [ebp - 0xc0]
sub eax, 0x92df37e3
je 0x1000299a
jmp 0x10001756
mov eax, dword [ebp - 0xc0]
sub eax, 0x977e3e9a
je 0x10003653
jmp 0x1000176c
mov eax, dword [ebp - 0xc0]
sub eax, 0x9c5e2d17
je 0x1000214b
jmp 0x10001782
mov eax, dword [ebp - 0xc0]
sub eax, 0x9f1ebd92
je 0x10003171
jmp 0x10001798
mov eax, dword [ebp - 0xc0]
sub eax, 0x9f783887
je 0x1000233d
jmp 0x100017ae
mov eax, dword [ebp - 0xc0]
sub eax, 0x9f8cf7a8
je 0x100020a9
jmp 0x100017c4
mov eax, dword [ebp - 0xc0]
sub eax, 0xa0c01cfa
je 0x1000366f
jmp 0x100017da
mov eax, dword [ebp - 0xc0]
sub eax, 0xa3daaa47
je 0x10002ac6
jmp 0x100017f0
mov eax, dword [ebp - 0xc0]
sub eax, 0xa553df0c
je 0x10003074
jmp 0x10001806
mov eax, dword [ebp - 0xc0]
sub eax, 0xa57dd81b
je 0x10002485
jmp 0x1000181c
mov eax, dword [ebp - 0xc0]
sub eax, 0xa664d6ae
je 0x100023bb
jmp 0x10001832
mov eax, dword [ebp - 0xc0]
sub eax, 0xac3e65ef
je 0x100034b4
jmp 0x10001848
mov eax, dword [ebp - 0xc0]
sub eax, 0xaf858186
je 0x100026c4
jmp 0x1000185e
mov eax, dword [ebp - 0xc0]
sub eax, 0xb023b2a8
je 0x10002daf
jmp 0x10001874
mov eax, dword [ebp - 0xc0]
sub eax, 0xb0d790f0
je 0x10002d1d
jmp 0x1000188a
mov eax, dword [ebp - 0xc0]
sub eax, 0xb1b2b909
je 0x10002426
jmp 0x100018a0
mov eax, dword [ebp - 0xc0]
sub eax, 0xb83cd8d4
je 0x100031ae
jmp 0x100018b6
mov eax, dword [ebp - 0xc0]
sub eax, 0xb93e0955
je 0x100031cc
jmp 0x100018cc
mov eax, dword [ebp - 0xc0]
sub eax, 0xba62cc12
je 0x1000298b
jmp 0x100018e2
mov eax, dword [ebp - 0xc0]
sub eax, 0xbf15b07a
je 0x10002c08
jmp 0x100018f8
mov eax, dword [ebp - 0xc0]
sub eax, 0xbfa88b7b
je 0x10002417
jmp 0x1000190e
mov eax, dword [ebp - 0xc0]
sub eax, 0xc0eb8ae5
je 0x100022db
jmp 0x10001924
mov eax, dword [ebp - 0xc0]
sub eax, 0xc15ec52c
je 0x10003157
jmp 0x1000193a
mov eax, dword [ebp - 0xc0]
sub eax, 0xc2d1ed71
je 0x1000215a
jmp 0x10001950
mov eax, dword [ebp - 0xc0]
sub eax, 0xc4c96020
je 0x10002ed3
jmp 0x10001966
mov eax, dword [ebp - 0xc0]
sub eax, 0xc5b927c9
je 0x100020fa
jmp 0x1000197c
mov eax, dword [ebp - 0xc0]
sub eax, 0xc62184b2
je 0x10003469
jmp 0x10001992
mov eax, dword [ebp - 0xc0]
sub eax, 0xc9157346
je 0x100024d6
jmp 0x100019a8
mov eax, dword [ebp - 0xc0]
sub eax, 0xcf28a091
je 0x10002265
jmp 0x100019be
mov eax, dword [ebp - 0xc0]
sub eax, 0xd05ba005
je 0x100026aa
jmp 0x100019d4
mov eax, dword [ebp - 0xc0]
sub eax, 0xd2fa200e
je 0x1000273a
jmp 0x100019ea
mov eax, dword [ebp - 0xc0]
sub eax, 0xd42bd3fc
je 0x1000264a
jmp 0x10001a00
mov eax, dword [ebp - 0xc0]
sub eax, 0xd58640d1
je 0x10002e9d
jmp 0x10001a16
mov eax, dword [ebp - 0xc0]
sub eax, 0xd8cd619b
je 0x100035b4
jmp 0x10001a2c
mov eax, dword [ebp - 0xc0]
sub eax, 0xdb9759c7
je 0x1000321d
jmp 0x10001a42
mov eax, dword [ebp - 0xc0]
sub eax, 0xdffb9f2c
je 0x100030ea
jmp 0x10001a58
mov eax, dword [ebp - 0xc0]
sub eax, 0xe448aa63
je 0x100035c3
jmp 0x10001a6e
mov eax, dword [ebp - 0xc0]
sub eax, 0xe696e86c
je 0x100027ce
jmp 0x10001a84
mov eax, dword [ebp - 0xc0]
sub eax, 0xf1c7db51
je 0x10001fe1
jmp 0x10001a9a
mov eax, dword [ebp - 0xc0]
sub eax, 0xf4ee2c50
je 0x1000290f
jmp 0x10001ab0
mov eax, dword [ebp - 0xc0]
sub eax, 0xf57eca39
je 0x100034a5
jmp 0x10001ac6
mov eax, dword [ebp - 0xc0]
sub eax, 0xf5f6a23f
je 0x1000328b
jmp 0x10001adc
mov eax, dword [ebp - 0xc0]
sub eax, 0xf6cfb037
je 0x10003148
jmp 0x10001af2
mov eax, dword [ebp - 0xc0]
sub eax, 0xf93417d4
je 0x10003051
jmp 0x10001b08
mov eax, dword [ebp - 0xc0]
sub eax, 0xff77a3d2
je 0x10002032
jmp 0x10001b1e
mov eax, dword [ebp - 0xc0]
sub eax, 0x2f77a4a
je 0x10002a8a
jmp 0x10001b34
mov eax, dword [ebp - 0xc0]
sub eax, 0x76a354a
je 0x10003026
jmp 0x10001b4a
mov eax, dword [ebp - 0xc0]
sub eax, 0x9c59833
je 0x10002d5e
jmp 0x10001b60
mov eax, dword [ebp - 0xc0]
sub eax, 0x9e51710
je 0x10002b56
jmp 0x10001b76
mov eax, dword [ebp - 0xc0]
sub eax, 0xc05fd72
je 0x10003684
jmp 0x10001b8c
mov eax, dword [ebp - 0xc0]
sub eax, 0xd478fec
je 0x100033ac
jmp 0x10001ba2
mov eax, dword [ebp - 0xc0]
sub eax, 0xe911548
je 0x10003035
jmp 0x10001bb8
mov eax, dword [ebp - 0xc0]
sub eax, 0x149c735d
je 0x100028be
jmp 0x10001bce
mov eax, dword [ebp - 0xc0]
sub eax, 0x19e75761
je 0x10003478
jmp 0x10001be4
mov eax, dword [ebp - 0xc0]
sub eax, 0x1deafa84
je 0x10002f0c
jmp 0x10001bfa
mov eax, dword [ebp - 0xc0]
sub eax, 0x1e3b2b54
je 0x10002d40
jmp 0x10001c10
mov eax, dword [ebp - 0xc0]
sub eax, 0x2167063c
je 0x10001f6b
jmp 0x10001c26
mov eax, dword [ebp - 0xc0]
sub eax, 0x22c2c15e
je 0x10002ab7
jmp 0x10001c3c
mov eax, dword [ebp - 0xc0]
sub eax, 0x2afe147a
je 0x100032f5
jmp 0x10001c52
mov eax, dword [ebp - 0xc0]
sub eax, 0x2b539db0
je 0x10002f94
jmp 0x10001c68
mov eax, dword [ebp - 0xc0]
sub eax, 0x2d5cabd5
je 0x100034c3
jmp 0x10001c7e
mov eax, dword [ebp - 0xc0]
sub eax, 0x320f47fb
je 0x10002c50
mov ecx, dword [0x1006c2a8]
mov eax, dword [0x1006c2a4]
mov edx, ecx
sub edx, 0xe60a0d33
sub edx, 1
add edx, 0xe60a0d33
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, 0xac3e65ef
mov ecx, 0xf1c7db51
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov eax, dword [0x1006c2a8]
mov ecx, dword [0x1006c2a4]
mov edx, eax
add edx, 0xc2ff1b6c
sub edx, 1
sub edx, 0xc2ff1b6c
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, 0x69e722ac
mov ecx, 0xff77a3d2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
push eax
mov eax, esp
mov dword [ebp - 0xb0], eax
mov ecx, dword [0x1006c2a8]
mov eax, dword [0x1006c2a4]
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, 0x69e722ac
mov ecx, 0x9f8cf7a8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov eax, dword [0x1006c2a8]
mov ecx, dword [0x1006c2a4]
mov edx, eax
add edx, 0x88db7246
sub edx, 1
sub edx, 0x88db7246
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, 0x2d5cabd5
mov ecx, 0xc5b927c9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov eax, dword [0x1006c2a8]
mov ecx, dword [0x1006c2a4]
mov edx, eax
add edx, 0xeb5c4708
sub edx, 1
sub edx, 0xeb5c4708
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, 0x2d5cabd5
mov ecx, 0x9c5e2d17
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov dword [ebp - 0xb8], 0xc2d1ed71
jmp 0x100036fa
push eax
mov eax, esp
mov dword [ebp - 0xac], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0xa8], eax
push eax
mov eax, esp
mov dword [ebp - 0xa4], eax
push eax
mov eax, esp
mov dword [ebp - 0xa0], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x9c], eax
push eax
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
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0xb8], 0x7b43e41f
jmp 0x100036fa
mov ecx, dword [0x1006c2a8]
mov eax, dword [0x1006c2a4]
mov edx, ecx
add edx, 0x95010508
sub edx, 1
sub edx, 0x95010508
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, 0x6ae116b3
mov ecx, 0xc0eb8ae5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov eax, dword [ebp - 0xa4]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x71], al
mov eax, dword [0x1006c2a8]
mov ecx, dword [0x1006c2a4]
mov edx, eax
sub edx, 0xd6dff7f6
sub edx, 1
add edx, 0xd6dff7f6
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, 0x6ae116b3
mov ecx, 0x9f783887
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov dl, byte [ebp - 0x71]
mov eax, 0x4bcf9059
mov ecx, 0x6e556455
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax]
mov dword [ebp - 0x70], eax
mov eax, dword [0x1006c2a8]
mov ecx, dword [0x1006c2a4]
mov edx, eax
add edx, 0xfee4d37a
sub edx, 1
sub edx, 0xfee4d37a
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, 0x6fd85bb2
mov ecx, 0xbfa88b7b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov dword [ebp - 0xb8], 0xb1b2b909
jmp 0x100036fa
mov eax, dword [ebp - 0xac]
mov edx, dword [eax]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x70]
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 - 0xa8]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xa0]
mov dword [eax], ecx
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0xb8], 0xa57dd81b
jmp 0x100036fa
mov eax, dword [0x1006c2a8]
mov ecx, dword [0x1006c2a4]
mov edx, eax
sub edx, 0xfef0249f
sub edx, 1
add edx, 0xfef0249f
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, 0x5d6f784a
mov ecx, 0xc9157346
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov ecx, dword [0x1006c2a8]
mov eax, dword [0x1006c2a4]
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, 0x3933265e
mov ecx, 0x49e19a4b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov eax, dword [0x1006c2a8]
mov ecx, dword [0x1006c2a4]
mov edx, eax
sub edx, 0x2b7f126b
sub edx, 1
add edx, 0x2b7f126b
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, 0x5d6f784a
mov ecx, 0xd42bd3fc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov dword [ebp - 0xb8], 0x70a5d008
jmp 0x100036fa
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0xb8], 0xaf858186
jmp 0x100036fa
mov ecx, dword [0x1006c2a8]
mov eax, dword [0x1006c2a4]
mov edx, ecx
sub edx, 0x3a30fd7a
sub edx, 1
add edx, 0x3a30fd7a
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, 0x75a96d9c
mov ecx, 0xd2fa200e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov eax, dword [ebp - 0x60]
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 - 0x94]
mov dword [eax], ecx
mov eax, dword [0x1006c2a8]
mov ecx, dword [0x1006c2a4]
mov edx, eax
add edx, 0x3d95a799
sub edx, 1
sub edx, 0x3d95a799
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, 0x75a96d9c
mov ecx, 0xe696e86c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov dword [ebp - 0xb8], 0x77779fb2
jmp 0x100036fa
mov eax, dword [0x1006c2a8]
mov ecx, dword [0x1006c2a4]
mov edx, eax
add edx, 0xdd333685
sub edx, 1
sub edx, 0xdd333685
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, 0x19e75761
mov ecx, 0xf4ee2c50
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov eax, dword [ebp - 0x5c]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x55], al
mov ecx, dword [0x1006c2a8]
mov eax, dword [0x1006c2a4]
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, 0x19e75761
mov ecx, 0xba62cc12
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov dword [ebp - 0xb8], 0x92df37e3
jmp 0x100036fa
mov dl, byte [ebp - 0x55]
mov eax, 0x357f7b1c
mov ecx, 0xa3daaa47
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov dword [ebp - 0xb8], 0x8194c929
jmp 0x100036fa
mov eax, dword [ebp - 0x54]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xb8], 0x22c2c15e
jmp 0x100036fa
mov dword [ebp - 0xb8], 0xb93e0955
jmp 0x100036fa
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xb8], 0x4c9b12ab
jmp 0x100036fa
mov eax, dword [ebp - 0x50]
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 - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov eax, dword [0x1006c2a8]
mov ecx, dword [0x1006c2a4]
mov edx, eax
add edx, 0x16c4045e
sub edx, 1
sub edx, 0x16c4045e
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, 0x42d54ab3
mov ecx, 0xbf15b07a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov dword [ebp - 0xb8], 0x485a1eeb
jmp 0x100036fa
mov ax, word [ebp - 0x40]
movzx ecx, ax
mov eax, dword [ebp - 0x44]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x3d], al
mov dword [ebp - 0xb8], 0x1e3b2b54
jmp 0x100036fa
mov dl, byte [ebp - 0x3d]
mov eax, 0xc15ec52c
mov ecx, 0x9c59833
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov eax, dword [0x1006c2a8]
mov ecx, dword [0x1006c2a4]
mov edx, eax
sub edx, 0x752c0368
sub edx, 1
add edx, 0x752c0368
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, 0x67af0cb1
mov ecx, 0xb023b2a8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x1006c2a8]
mov eax, dword [0x1006c2a4]
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, 0x67af0cb1
mov ecx, 0x59854403
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov ecx, dword [ebp - 0x38]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x10019190
call fcn.1000fe50
add esp, 8
mov edx, eax
mov eax, 0xc4c96020
mov ecx, 0x76a354a
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov eax, dword [ebp - 0x7c]
mov dword [eax], 0
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xb8], 0x1deafa84
jmp 0x100036fa
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
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 [ebp - 0x34]
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 - 0x78]
mov byte [eax], cl
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x80]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
add eax, 0x55d6005f
add eax, ecx
sub eax, 0x55d6005f
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xb8], 0x2b539db0
jmp 0x100036fa
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x24]
add ecx, 0x3ca5e4e3
add ecx, eax
sub ecx, 0x3ca5e4e3
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x28]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1000f020
add esp, 0xc
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xa0]
mov esi, dword [eax]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, edi
sub esi, eax
mov eax, dword [ebp - 0x7c]
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 - 0x78]
mov byte [eax], cl
mov dword [ebp - 0xb8], 0x76a354a
jmp 0x100036fa
mov dword [ebp - 0xb8], 0xe911548
jmp 0x100036fa
mov eax, dword [ebp - 0x84]
mov ax, word [eax]
mov word [ebp - 0x1c], ax
mov dword [ebp - 0xb8], 0xf93417d4
jmp 0x100036fa
mov ax, word [ebp - 0x1c]
sub ax, 0x572b
add ax, 1
add ax, 0x572b
mov word [ebp - 0x1a], ax
mov dword [ebp - 0xb8], 0xa553df0c
jmp 0x100036fa
mov ecx, dword [0x1006c2a8]
mov eax, dword [0x1006c2a4]
mov edx, ecx
add edx, 0xccea4344
sub edx, 1
sub edx, 0xccea4344
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, 0x977e3e9a
mov ecx, 0xdffb9f2c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov eax, dword [ebp - 0x84]
mov cx, word [ebp - 0x1a]
mov word [eax], cx
mov eax, dword [0x1006c2a8]
mov ecx, dword [0x1006c2a4]
mov edx, eax
sub edx, 0xdc2e2c8c
sub edx, 1
add edx, 0xdc2e2c8c
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, 0x977e3e9a
mov ecx, 0xf6cfb037
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov dword [ebp - 0xb8], 0x320f47fb
jmp 0x100036fa
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xb8], 0x9f1ebd92
jmp 0x100036fa
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xac]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xb8], 0xb83cd8d4
jmp 0x100036fa
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xb8], 0xb93e0955
jmp 0x100036fa
mov eax, dword [0x1006c2a8]
mov ecx, dword [0x1006c2a4]
mov edx, eax
sub edx, 0xf8fa48bb
sub edx, 1
add edx, 0xf8fa48bb
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, 0xf57eca39
mov ecx, 0xdb9759c7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov ecx, dword [0x1006c2a8]
mov eax, dword [0x1006c2a4]
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, 0xf57eca39
mov ecx, 0xf5f6a23f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1000e290
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0xa4]
mov eax, dword [0x1006c2a8]
mov ecx, dword [0x1006c2a4]
mov edx, eax
add edx, 0xf32b5c95
sub edx, 1
sub edx, 0xf32b5c95
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, 0xa0c01cfa
mov ecx, 0x3e9a91dc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
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 - 0x9c]
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 - 0x98]
mov dword [eax], ecx
mov eax, dword [0x1006c2a8]
mov ecx, dword [0x1006c2a4]
mov edx, eax
sub edx, 0xc56264b5
sub edx, 1
add edx, 0xc56264b5
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, 0xc05fd72
mov ecx, 0xc62184b2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x100036fa
mov dword [ebp - 0xb8], 0xc9157346
jmp 0x100036fa
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xb8], 0xf4ee2c50
jmp 0x100036fa
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0xb8], 0x46f29013
jmp 0x100036fa
mov dword [ebp - 0xb8], 0xdb9759c7
jmp 0x100036fa
mov dword [ebp - 0xb8], 0x2167063c
jmp 0x100036fa
mov dword [ebp - 0xb8], 0xc5b927c9
jmp 0x100036fa
mov dword [ebp - 0xb8], 0x563d349c
jmp 0x100036fa
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xb8], 0x63bc7e59
jmp 0x100036fa
mov eax, dword [ebp - 0x84]
mov cx, word [ebp - 0x1a]
mov word [eax], cx
mov dword [ebp - 0xb8], 0xdffb9f2c
jmp 0x100036fa
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xb8], 0x2afe147a
jmp 0x100036fa
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
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 - 0x9c]
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 - 0x98]
mov dword [eax], ecx
mov dword [ebp - 0xb8], 0xd478fec
jmp 0x100016f8