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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xa8
mov eax, dword [ebp + 8]
mov dword [ebp - 0xb0], eax
mov eax, dword [0x1006b204]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xac], 0xf032beab
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xb4], eax
sub eax, 0x809594ec
je 0x10003f7b
jmp 0x10001275
mov eax, dword [ebp - 0xb4]
sub eax, 0x80f56f97
je 0x100033f7
jmp 0x1000128b
mov eax, dword [ebp - 0xb4]
sub eax, 0x82058692
je 0x10004f9b
jmp 0x100012a1
mov eax, dword [ebp - 0xb4]
sub eax, 0x82100b54
je 0x10004572
jmp 0x100012b7
mov eax, dword [ebp - 0xb4]
sub eax, 0x825387b8
je 0x100051c9
jmp 0x100012cd
mov eax, dword [ebp - 0xb4]
sub eax, 0x8386290e
je 0x10002e93
jmp 0x100012e3
mov eax, dword [ebp - 0xb4]
sub eax, 0x84c9aec2
je 0x1000461a
jmp 0x100012f9
mov eax, dword [ebp - 0xb4]
sub eax, 0x8569f947
je 0x1000516b
jmp 0x1000130f
mov eax, dword [ebp - 0xb4]
sub eax, 0x85a24e28
je 0x10004ff9
jmp 0x10001325
mov eax, dword [ebp - 0xb4]
sub eax, 0x864cf0e7
je 0x10004042
jmp 0x1000133b
mov eax, dword [ebp - 0xb4]
sub eax, 0x86b97556
je 0x10004b47
jmp 0x10001351
mov eax, dword [ebp - 0xb4]
sub eax, 0x896572de
je 0x100031b3
jmp 0x10001367
mov eax, dword [ebp - 0xb4]
sub eax, 0x89fb3718
je 0x10004581
jmp 0x1000137d
mov eax, dword [ebp - 0xb4]
sub eax, 0x8e478983
je 0x10003244
jmp 0x10001393
mov eax, dword [ebp - 0xb4]
sub eax, 0x8f3b5dc3
je 0x10003990
jmp 0x100013a9
mov eax, dword [ebp - 0xb4]
sub eax, 0x8fb05534
je 0x1000515c
jmp 0x100013bf
mov eax, dword [ebp - 0xb4]
sub eax, 0x9159dd61
je 0x10003611
jmp 0x100013d5
mov eax, dword [ebp - 0xb4]
sub eax, 0x94fb1511
je 0x10002b3f
jmp 0x100013eb
mov eax, dword [ebp - 0xb4]
sub eax, 0x95a0c710
je 0x10004f4e
jmp 0x10001401
mov eax, dword [ebp - 0xb4]
sub eax, 0x9a3f60ff
je 0x10003a05
jmp 0x10001417
mov eax, dword [ebp - 0xb4]
sub eax, 0x9a559e66
je 0x10004b32
jmp 0x1000142d
mov eax, dword [ebp - 0xb4]
sub eax, 0x9aae6413
je 0x10002fe3
jmp 0x10001443
mov eax, dword [ebp - 0xb4]
sub eax, 0x9b812aa6
je 0x10004109
jmp 0x10001459
mov eax, dword [ebp - 0xb4]
sub eax, 0x9d62342b
je 0x10002d16
jmp 0x1000146f
mov eax, dword [ebp - 0xb4]
sub eax, 0x9deed9bc
je 0x100051ec
jmp 0x10001485
mov eax, dword [ebp - 0xb4]
sub eax, 0x9f860670
je 0x100042c5
jmp 0x1000149b
mov eax, dword [ebp - 0xb4]
sub eax, 0xa02a6b0b
je 0x10004093
jmp 0x100014b1
mov eax, dword [ebp - 0xb4]
sub eax, 0xa035ac03
je 0x10004b20
jmp 0x100014c7
mov eax, dword [ebp - 0xb4]
sub eax, 0xa2e36e48
je 0x100051fb
jmp 0x100014dd
mov eax, dword [ebp - 0xb4]
sub eax, 0xa4068a3e
je 0x10004757
jmp 0x100014f3
mov eax, dword [ebp - 0xb4]
sub eax, 0xa4f9cf52
je 0x100042d4
jmp 0x10001509
mov eax, dword [ebp - 0xb4]
sub eax, 0xa52af5c4
je 0x10003a73
jmp 0x1000151f
mov eax, dword [ebp - 0xb4]
sub eax, 0xa56cd643
je 0x100052a2
jmp 0x10001535
mov eax, dword [ebp - 0xb4]
sub eax, 0xa575e1c5
je 0x1000426a
jmp 0x1000154b
mov eax, dword [ebp - 0xb4]
sub eax, 0xa65e608c
je 0x10004bb5
jmp 0x10001561
mov eax, dword [ebp - 0xb4]
sub eax, 0xa9070eeb
je 0x10004962
jmp 0x10001577
mov eax, dword [ebp - 0xb4]
sub eax, 0xaa75c6a9
je 0x100034d5
jmp 0x1000158d
mov eax, dword [ebp - 0xb4]
sub eax, 0xb02ff127
je 0x10002d25
jmp 0x100015a3
mov eax, dword [ebp - 0xb4]
sub eax, 0xb813102a
je 0x10004ae6
jmp 0x100015b9
mov eax, dword [ebp - 0xb4]
sub eax, 0xb8d11e9e
je 0x10004f0c
jmp 0x100015cf
mov eax, dword [ebp - 0xb4]
sub eax, 0xbb209c86
je 0x1000514d
jmp 0x100015e5
mov eax, dword [ebp - 0xb4]
sub eax, 0xbb66ad02
je 0x10002561
jmp 0x100015fb
mov eax, dword [ebp - 0xb4]
sub eax, 0xbb7f3644
je 0x10003871
jmp 0x10001611
mov eax, dword [ebp - 0xb4]
sub eax, 0xbc42499f
je 0x1000313d
jmp 0x10001627
mov eax, dword [ebp - 0xb4]
sub eax, 0xc11d5b90
je 0x10004cbb
jmp 0x1000163d
mov eax, dword [ebp - 0xb4]
sub eax, 0xc156f750
je 0x10002800
jmp 0x10001653
mov eax, dword [ebp - 0xb4]
sub eax, 0xc184a851
je 0x10003e96
jmp 0x10001669
mov eax, dword [ebp - 0xb4]
sub eax, 0xc228b401
je 0x10004688
jmp 0x1000167f
mov eax, dword [ebp - 0xb4]
sub eax, 0xc3fa28fb
je 0x100032a4
jmp 0x10001695
mov eax, dword [ebp - 0xb4]
sub eax, 0xc75fdd95
je 0x1000289a
jmp 0x100016ab
mov eax, dword [ebp - 0xb4]
sub eax, 0xc7b94b51
je 0x10003b2f
jmp 0x100016c1
mov eax, dword [ebp - 0xb4]
sub eax, 0xc9a1917f
je 0x10003b96
jmp 0x100016d7
mov eax, dword [ebp - 0xb4]
sub eax, 0xcbdf3f19
je 0x10004e73
jmp 0x100016ed
mov eax, dword [ebp - 0xb4]
sub eax, 0xcde97295
je 0x10004d5f
jmp 0x10001703
mov eax, dword [ebp - 0xb4]
sub eax, 0xcea31896
je 0x10002c39
jmp 0x10001719
mov eax, dword [ebp - 0xb4]
sub eax, 0xd0da6e63
je 0x100023eb
jmp 0x1000172f
mov eax, dword [ebp - 0xb4]
sub eax, 0xd2dbc000
je 0x10003e20
jmp 0x10001745
mov eax, dword [ebp - 0xb4]
sub eax, 0xd3c0b8d2
je 0x1000303b
jmp 0x1000175b
mov eax, dword [ebp - 0xb4]
sub eax, 0xd7b53c43
je 0x10004177
jmp 0x10001771
mov eax, dword [ebp - 0xb4]
sub eax, 0xd8d28f33
je 0x10003253
jmp 0x10001787
mov eax, dword [ebp - 0xb4]
sub eax, 0xda056745
je 0x100022f1
jmp 0x1000179d
mov eax, dword [ebp - 0xb4]
sub eax, 0xdb154581
je 0x10005026
jmp 0x100017b3
mov eax, dword [ebp - 0xb4]
sub eax, 0xdd10032b
je 0x10003c6d
jmp 0x100017c9
mov eax, dword [ebp - 0xb4]
sub eax, 0xdd3d1d02
je 0x100035d1
jmp 0x100017df
mov eax, dword [ebp - 0xb4]
sub eax, 0xe1bc7939
je 0x10003484
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, esp
mov dword [ebp - 0x9c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x98], ecx
sub esp, 0x104
mov ecx, esp
mov dword [ebp - 0x94], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x90], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x8c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x88], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x84], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x80], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x7c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x78], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x74], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0xa4], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa0]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1000fef0
add esp, 0xc
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x6c], eax
mov eax, dword [0x1006c4a8]
mov ecx, dword [0x1006c4a4]
mov edx, eax
sub edx, 0x1d061225
sub edx, 1
add edx, 0x1d061225
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, 0xf0518af6
mov ecx, 0xd0da6e63
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov ecx, dword [0x1006c4a8]
mov eax, dword [0x1006c4a4]
mov edx, ecx
add edx, 0x296ecc5e
sub edx, 1
sub edx, 0x296ecc5e
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, 0x39558f2c
mov ecx, 0xee7958b8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov dword [ebp - 0xac], 0x2a4201cb
jmp 0x100052dc
mov eax, dword [0x1006c4a8]
mov ecx, dword [0x1006c4a4]
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, 0x4546d39a
mov ecx, 0x73b9c048
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov dword [ebp - 0xac], 0x50bb7b9
jmp 0x100052dc
mov dword [ebp - 0xac], 0x39b089c
jmp 0x100052dc
mov dl, byte [ebp - 0x55]
mov eax, 0xb02ff127
mov ecx, 0xf56ded0d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov dword [ebp - 0xac], 0x50bb7b9
jmp 0x100052dc
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0xac], 0x26971c2a
jmp 0x100052dc
mov eax, dword [0x1006c4a8]
mov ecx, dword [0x1006c4a4]
mov edx, eax
add edx, 0x49b18b20
sub edx, 1
sub edx, 0x49b18b20
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, 0x2392d6e3
mov ecx, 0x5c226ba1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x1006c4a8]
mov ecx, dword [0x1006c4a4]
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, 0x3d69d0a6
mov ecx, 0xd3c0b8d2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov dword [ebp - 0xac], 0xeefbd5c5
jmp 0x100052dc
mov ecx, dword [0x1006c4a8]
mov eax, dword [0x1006c4a4]
mov edx, ecx
sub edx, 0xf9fe2533
sub edx, 1
add edx, 0xf9fe2533
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, 0x7c14467
mov ecx, 0x896572de
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov eax, dword [ebp - 0x8c]
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 - 0x88]
mov dword [eax], ecx
mov eax, dword [0x1006c4a8]
mov ecx, dword [0x1006c4a4]
mov edx, eax
sub edx, 0xdf6ba04f
sub edx, 1
add edx, 0xdf6ba04f
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, 0x7c14467
mov ecx, 0x8e478983
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov dword [ebp - 0xac], 0xd8d28f33
jmp 0x100052dc
mov eax, dword [0x1006c4a8]
mov ecx, dword [0x1006c4a4]
mov edx, eax
add edx, 0x8a34190b
sub edx, 1
sub edx, 0x8a34190b
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, 0x85a24e28
mov ecx, 0xc3fa28fb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov eax, dword [0x1006c4a8]
mov ecx, dword [0x1006c4a4]
mov edx, eax
sub edx, 0x1a9ff203
sub edx, 1
add edx, 0x1a9ff203
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, 0x85a24e28
mov ecx, 0x6d9bda05
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov word [eax], 0
mov dword [ebp - 0xac], 0x3f67efcd
jmp 0x100052dc
mov ecx, dword [0x1006c4a8]
mov eax, dword [0x1006c4a4]
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, 0xa035ac03
mov ecx, 0x699440f2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov ax, word [eax + 6]
mov word [ebp - 0x36], ax
mov dword [ebp - 0xac], 0x6ac71695
jmp 0x100052dc
mov eax, dword [0x1006c4a8]
mov ecx, dword [0x1006c4a4]
mov edx, eax
add edx, 0xa7c032db
sub edx, 1
sub edx, 0xa7c032db
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, 0xe4707f64
mov ecx, 0x3024a642
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov dword [ebp - 0xac], 0xe641fa47
jmp 0x100052dc
mov eax, dword [ebp - 0x30]
movzx edx, word [eax + 0x14]
mov eax, dword [ebp - 0x34]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x7c]
mov ax, word [eax]
mov word [ebp - 0x28], ax
mov eax, dword [0x1006c4a8]
mov ecx, dword [0x1006c4a4]
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, 0x86b97556
mov ecx, 0x3c5972b6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov ecx, dword [0x1006c4a8]
mov eax, dword [0x1006c4a4]
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, 0x3dc4602e
mov ecx, 0xa52af5c4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov ax, word [ebp - 0x28]
movzx eax, ax
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x2c]
add ecx, 0xfd0284b3
add ecx, eax
sub ecx, 0xfd0284b3
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x1001a190
call fcn.10010e80
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x25], al
mov ecx, dword [0x1006c4a8]
mov eax, dword [0x1006c4a4]
mov edx, ecx
sub edx, 0x126f97fd
sub edx, 1
add edx, 0x126f97fd
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, 0x3dc4602e
mov ecx, 0xc7b94b51
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov dl, byte [ebp - 0x25]
mov eax, 0xe946b27c
mov ecx, 0x809594ec
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov eax, dword [ebp - 0x74]
mov dword [eax], 0
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x74]
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 - 0x70]
mov byte [eax], cl
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x78]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
sub eax, 0x12afbfcf
add eax, ecx
add eax, 0x12afbfcf
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x1006c4a8]
mov ecx, dword [0x1006c4a4]
mov edx, eax
add edx, 0x425534a
sub edx, 1
sub edx, 0x425534a
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, 0xa8d9a2e
mov ecx, 0xdd10032b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov dword [ebp - 0xac], 0x4114b9cf
jmp 0x100052dc
mov ecx, dword [0x1006c4a8]
mov eax, dword [0x1006c4a4]
mov edx, ecx
sub edx, 0x7379e85b
sub edx, 1
add edx, 0x7379e85b
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, 0xc11d5b90
mov ecx, 0xc184a851
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov dword [ebp - 0xac], 0xf2200cf2
jmp 0x100052dc
mov eax, dword [0x1006c4a8]
mov ecx, dword [0x1006c4a4]
mov edx, eax
add edx, 0xf138f0c0
sub edx, 1
sub edx, 0xf138f0c0
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, 0xbb209c86
mov ecx, 0x70ce927d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov eax, dword [0x1006c4a8]
mov ecx, dword [0x1006c4a4]
mov edx, eax
sub edx, 0x7ad2fcba
sub edx, 1
add edx, 0x7ad2fcba
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, 0xcde97295
mov ecx, 0xa02a6b0b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov ecx, dword [0x1006c4a8]
mov eax, dword [0x1006c4a4]
mov edx, ecx
add edx, 0xabb3a71e
sub edx, 1
sub edx, 0xabb3a71e
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, 0xcde97295
mov ecx, 0x9b812aa6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov ecx, dword [0x1006c4a8]
mov eax, dword [0x1006c4a4]
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, 0x8fb05534
mov ecx, 0xd7b53c43
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov ecx, dword [0x1006c4a8]
mov eax, dword [0x1006c4a4]
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, 0x8fb05534
mov ecx, 0x5aa2641a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov eax, dword [ebp - 0x7c]
mov ax, word [eax]
mov word [ebp - 0x18], ax
mov eax, dword [0x1006c4a8]
mov ecx, dword [0x1006c4a4]
mov edx, eax
add edx, 0xbe0da07d
sub edx, 1
sub edx, 0xbe0da07d
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, 0x8569f947
mov ecx, 0x9f860670
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov dword [ebp - 0xac], 0xa4f9cf52
jmp 0x100052dc
mov ecx, dword [0x1006c4a8]
mov eax, dword [0x1006c4a4]
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, 0xed787d85
mov ecx, 0x3cbe9158
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov dword [ebp - 0xac], 0x3f67efcd
jmp 0x100052dc
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xac], 0x89170e0
jmp 0x100052dc
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x14], eax
mov eax, dword [0x1006c4a8]
mov ecx, dword [0x1006c4a4]
mov edx, eax
sub edx, 0xae4bdfe8
sub edx, 1
add edx, 0xae4bdfe8
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, 0x825387b8
mov ecx, 0xc228b401
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov dword [ebp - 0xac], 0x562ad8bd
jmp 0x100052dc
mov eax, dword [0x1006c4a8]
mov ecx, dword [0x1006c4a4]
mov edx, eax
add edx, 0x22e49d80
sub edx, 1
sub edx, 0x22e49d80
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, 0x9deed9bc
mov ecx, 0x32b164f6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
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 - 0xa0]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x9c]
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 - 0x94]
mov dword [ebp - 0xac], 0xed1c8f48
jmp 0x100052dc
mov dword [ebp - 0xac], 0xefb401fd
jmp 0x100052dc
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xac], 0x699440f2
jmp 0x100052dc
mov eax, dword [ebp - 0x80]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xac], 0x64268e3e
jmp 0x100052dc
mov ecx, dword [0x1006c4a8]
mov eax, dword [0x1006c4a4]
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, 0xa56cd643
mov ecx, 0xa65e608c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x7c]
mov ecx, dword [0x1006c4a8]
mov eax, dword [0x1006c4a4]
mov edx, ecx
sub edx, 0xfb42c29e
sub edx, 1
add edx, 0xfb42c29e
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, 0xa56cd643
mov ecx, 0x5c3c7844
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
add ecx, 0x78a326fd
add ecx, eax
sub ecx, 0x78a326fd
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x24]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10010050
add esp, 0xc
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x98]
mov esi, dword [eax]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
xor esi, esi
sub esi, edi
add eax, esi
xor esi, esi
sub esi, eax
mov eax, dword [ebp - 0x74]
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 - 0x70]
mov byte [eax], cl
mov dword [ebp - 0xac], 0x3d1558ed
jmp 0x100052dc
mov ecx, dword [0x1006c4a8]
mov eax, dword [0x1006c4a4]
mov edx, ecx
add edx, 0x887c844f
sub edx, 1
sub edx, 0x887c844f
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, 0x7f17ced3
mov ecx, 0x4ada4b19
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x100052dc
mov dword [ebp - 0xac], 0x3664b532
jmp 0x100052dc
mov dword [ebp - 0xac], 0xe9daa95a
jmp 0x100052dc
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xac], 0x3121f3c9
jmp 0x100052dc
mov dword [ebp - 0xac], 0x40580d13
jmp 0x100052dc
mov dword [ebp - 0xac], 0xc3fa28fb
jmp 0x100052dc
mov dword [ebp - 0xac], 0x53f5a7c8
jmp 0x100052dc
mov dword [ebp - 0xac], 0x70ce927d
jmp 0x100052dc
mov dword [ebp - 0xac], 0xd7b53c43
jmp 0x100052dc
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xac], 0xa575e1c5
jmp 0x100052dc
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xac], 0x84c9aec2
jmp 0x100052dc
mov dword [ebp - 0xac], 0xa4068a3e
jmp 0x100052dc
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xa4], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa0]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1000fef0
add esp, 0xc
mov dword [ebp - 0xac], 0xf155a236
jmp 0x100052dc
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xac], 0xa65e608c
jmp 0x100052dc
jmp 0x10001259