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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x1a4
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1a8], eax
mov eax, dword [0x1006cc00]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1a4], 0xedd8a365
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1ac], eax
sub eax, 0x8250fdda
je 0x10001e84
jmp 0x100013a4
mov eax, dword [ebp - 0x1ac]
sub eax, 0x83f26f0f
je 0x10001b2d
jmp 0x100013ba
mov eax, dword [ebp - 0x1ac]
sub eax, 0x84225fda
je 0x100027fc
jmp 0x100013d0
mov eax, dword [ebp - 0x1ac]
sub eax, 0x89234aa6
je 0x10002811
jmp 0x100013e6
mov eax, dword [ebp - 0x1ac]
sub eax, 0x8e2512d7
je 0x100027ed
jmp 0x100013fc
mov eax, dword [ebp - 0x1ac]
sub eax, 0x8e3c9024
je 0x10002036
jmp 0x10001412
mov eax, dword [ebp - 0x1ac]
sub eax, 0x8e698662
je 0x10001f36
jmp 0x10001428
mov eax, dword [ebp - 0x1ac]
sub eax, 0x95f279c1
je 0x10001d30
jmp 0x1000143e
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa96708af
je 0x100027de
jmp 0x10001454
mov eax, dword [ebp - 0x1ac]
sub eax, 0xab707123
je 0x100027ba
jmp 0x1000146a
mov eax, dword [ebp - 0x1ac]
sub eax, 0xad19a2a4
je 0x10002744
jmp 0x10001480
mov eax, dword [ebp - 0x1ac]
sub eax, 0xae1514bd
je 0x10001ea5
jmp 0x10001496
mov eax, dword [ebp - 0x1ac]
sub eax, 0xb1c40076
je 0x100028fb
jmp 0x100014ac
mov eax, dword [ebp - 0x1ac]
sub eax, 0xb6d57f5c
je 0x10001931
jmp 0x100014c2
mov eax, dword [ebp - 0x1ac]
sub eax, 0xb740ef27
je 0x10001c14
jmp 0x100014d8
mov eax, dword [ebp - 0x1ac]
sub eax, 0xb8508a58
je 0x10001ba5
jmp 0x100014ee
mov eax, dword [ebp - 0x1ac]
sub eax, 0xbfe8e85b
je 0x10002286
jmp 0x10001504
mov eax, dword [ebp - 0x1ac]
sub eax, 0xc31893ca
je 0x10002201
jmp 0x1000151a
mov eax, dword [ebp - 0x1ac]
sub eax, 0xc7d7cc94
je 0x100026a0
jmp 0x10001530
mov eax, dword [ebp - 0x1ac]
sub eax, 0xcc7b52ca
je 0x10002714
jmp 0x10001546
mov eax, dword [ebp - 0x1ac]
sub eax, 0xce79ca1f
je 0x100027cf
jmp 0x1000155c
mov eax, dword [ebp - 0x1ac]
sub eax, 0xd412f9ba
je 0x10001d81
jmp 0x10001572
mov eax, dword [ebp - 0x1ac]
sub eax, 0xd965e2a1
je 0x10001f6f
jmp 0x10001588
mov eax, dword [ebp - 0x1ac]
sub eax, 0xdb7e417e
je 0x10002681
jmp 0x1000159e
mov eax, dword [ebp - 0x1ac]
sub eax, 0xe1cf9367
je 0x10001fc0
jmp 0x100015b4
mov eax, dword [ebp - 0x1ac]
sub eax, 0xe27e7e71
je 0x10001dae
jmp 0x100015ca
mov eax, dword [ebp - 0x1ac]
sub eax, 0xead49504
je 0x1000248d
jmp 0x100015e0
mov eax, dword [ebp - 0x1ac]
sub eax, 0xedd8a365
je 0x100018bb
jmp 0x100015f6
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf1d90727
je 0x1000233b
jmp 0x1000160c
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf35cec9c
je 0x10001d21
jmp 0x10001622
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf6eda6de
je 0x10001b1e
jmp 0x10001638
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf6f1be85
je 0x100020ac
jmp 0x1000164e
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf756fac6
je 0x10001d00
jmp 0x10001664
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf8627144
je 0x10001afd
jmp 0x1000167a
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf90ba797
je 0x10001a2a
jmp 0x10001690
mov eax, dword [ebp - 0x1ac]
sub eax, 0xfefe4e5a
je 0x10001f8e
jmp 0x100016a6
mov eax, dword [ebp - 0x1ac]
sub eax, 0x117f5be
je 0x10001e18
jmp 0x100016bc
mov eax, dword [ebp - 0x1ac]
sub eax, 0x1ab672d
je 0x1000288a
jmp 0x100016d2
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3524942
je 0x10002755
jmp 0x100016e8
mov eax, dword [ebp - 0x1ac]
sub eax, 0x5ded99e
je 0x10002735
jmp 0x100016fe
mov eax, dword [ebp - 0x1ac]
sub eax, 0xd1ac81d
je 0x10001a73
jmp 0x10001714
mov eax, dword [ebp - 0x1ac]
sub eax, 0xde31360
je 0x10001c8a
jmp 0x1000172a
mov eax, dword [ebp - 0x1ac]
sub eax, 0x185e16e6
je 0x100026d2
jmp 0x10001740
mov eax, dword [ebp - 0x1ac]
sub eax, 0x1df0bb49
je 0x1000217b
jmp 0x10001756
mov eax, dword [ebp - 0x1ac]
sub eax, 0x1f5dc34d
je 0x10002105
jmp 0x1000176c
mov eax, dword [ebp - 0x1ac]
sub eax, 0x20c5fe28
je 0x10002210
jmp 0x10001782
mov eax, dword [ebp - 0x1ac]
sub eax, 0x2ddb6d40
je 0x10001eb4
jmp 0x10001798
mov eax, dword [ebp - 0x1ac]
sub eax, 0x2f146232
je 0x100025b3
jmp 0x100017ae
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3b6eac90
je 0x1000235c
jmp 0x100017c4
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3bd6efbb
je 0x100023a5
jmp 0x100017da
mov eax, dword [ebp - 0x1ac]
sub eax, 0x45d27a13
je 0x10001f0d
jmp 0x100017f0
mov eax, dword [ebp - 0x1ac]
sub eax, 0x4b3ff8aa
je 0x10001dcf
jmp 0x10001806
mov eax, dword [ebp - 0x1ac]
sub eax, 0x56e2f0b8
je 0x100020cd
jmp 0x1000181c
mov eax, dword [ebp - 0x1ac]
sub eax, 0x56f14b17
je 0x10001e75
jmp 0x10001832
mov eax, dword [ebp - 0x1ac]
sub eax, 0x5a8e1792
je 0x100025a4
jmp 0x10001848
mov eax, dword [ebp - 0x1ac]
sub eax, 0x5bde52cf
je 0x10002672
jmp 0x1000185e
mov eax, dword [ebp - 0x1ac]
sub eax, 0x60a6764d
je 0x10002604
jmp 0x10001874
mov eax, dword [ebp - 0x1ac]
sub eax, 0x64742845
je 0x100026e1
jmp 0x1000188a
mov eax, dword [ebp - 0x1ac]
sub eax, 0x6a0cf26a
je 0x100024de
jmp 0x100018a0
mov eax, dword [ebp - 0x1ac]
sub eax, 0x72706fcc
je 0x10001a1b
jmp 0x100018b6
jmp 0x10002905
mov ecx, dword [0x1006df58]
mov eax, dword [0x1006df54]
mov edx, ecx
sub edx, 0xae3a1d94
sub edx, 1
add edx, 0xae3a1d94
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, 0x3524942
mov ecx, 0xb6d57f5c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov eax, dword [ebp - 0x1a8]
push eax
mov ecx, esp
mov dword [ebp - 0x188], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x184], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x180], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x17c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x178], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x174], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x170], ecx
mov dword [ebp - 0x18c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x190], eax
lea eax, [ebp - 0x11c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10008460
add esp, 0xc
mov eax, dword [ebp - 0x18c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x16c], eax
mov eax, dword [0x1006df58]
mov ecx, dword [0x1006df54]
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, 0x3524942
mov ecx, 0x72706fcc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov dword [ebp - 0x1a4], 0xf90ba797
jmp 0x10002905
mov eax, dword [0x1006df58]
mov ecx, dword [0x1006df54]
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, 0xab707123
mov ecx, 0xd1ac81d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov eax, dword [ebp - 0x16c]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x165], al
mov ecx, dword [0x1006df58]
mov eax, dword [0x1006df54]
mov edx, ecx
sub edx, 0x543b0786
sub edx, 1
add edx, 0x543b0786
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, 0xab707123
mov ecx, 0xf8627144
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov dl, byte [ebp - 0x165]
mov eax, 0xf6eda6de
mov ecx, 0x83f26f0f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov dword [ebp - 0x1a4], 0xad19a2a4
jmp 0x10002905
mov ecx, dword [ebp - 0x194]
mov edx, dword [ebp - 0x190]
lea eax, [ebp - 0x11c]
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 - 0x11c]
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x110]
mov ecx, dword [ebp - 0x194]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x110]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x1a4], 0xb8508a58
jmp 0x10002905
mov eax, dword [ebp - 0x164]
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 - 0x19c], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x19c], eax
sete al
and al, 1
mov byte [ebp - 0x15d], al
mov dword [ebp - 0x1a4], 0xb740ef27
jmp 0x10002905
mov ecx, dword [0x1006df58]
mov eax, dword [0x1006df54]
mov edx, ecx
add edx, 0xb5a12317
sub edx, 1
sub edx, 0xb5a12317
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, 0xce79ca1f
mov ecx, 0xde31360
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov ecx, dword [0x1006df58]
mov eax, dword [0x1006df54]
mov edx, ecx
add edx, 0xa007379c
sub edx, 1
sub edx, 0xa007379c
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, 0xce79ca1f
mov ecx, 0xf756fac6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov dl, byte [ebp - 0x15d]
mov eax, 0x95f279c1
mov ecx, 0xf35cec9c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov dword [ebp - 0x1a4], 0xad19a2a4
jmp 0x10002905
mov eax, dword [ebp - 0x19c]
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 - 0x15c], eax
mov dword [ebp - 0x1a4], 0xd412f9ba
jmp 0x10002905
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 0
setne al
and al, 1
mov byte [ebp - 0x155], al
mov dword [ebp - 0x1a4], 0xe27e7e71
jmp 0x10002905
mov dl, byte [ebp - 0x155]
mov eax, 0x4b3ff8aa
mov ecx, 0x2ddb6d40
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov eax, dword [0x1006df58]
mov ecx, dword [0x1006df54]
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, 0xa96708af
mov ecx, 0x117f5be
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x154], eax
mov eax, dword [0x1006df58]
mov ecx, dword [0x1006df54]
mov edx, eax
add edx, 0x3e48daa6
sub edx, 1
sub edx, 0x3e48daa6
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, 0xa96708af
mov ecx, 0x56f14b17
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov dword [ebp - 0x1a4], 0x8250fdda
jmp 0x10002905
mov eax, dword [ebp - 0x154]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a4], 0xae1514bd
jmp 0x10002905
mov dword [ebp - 0x1a4], 0xad19a2a4
jmp 0x10002905
mov eax, dword [ebp - 0x1a0]
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 - 0x188]
mov dword [eax], ecx
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x1a4], 0x45d27a13
jmp 0x10002905
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x150]
mov dword [eax], ecx
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x1a4], 0x8e698662
jmp 0x10002905
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x14c]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x180]
mov dword [eax], ecx
mov eax, dword [ebp - 0x17c]
mov word [eax], 0
mov dword [ebp - 0x1a4], 0xd965e2a1
jmp 0x10002905
mov eax, dword [ebp - 0x17c]
mov ax, word [eax]
mov word [ebp - 0x148], ax
mov dword [ebp - 0x1a4], 0xfefe4e5a
jmp 0x10002905
mov ax, word [ebp - 0x148]
movzx eax, ax
mov ecx, dword [ebp - 0x180]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 6]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x145], al
mov dword [ebp - 0x1a4], 0xe1cf9367
jmp 0x10002905
mov ecx, dword [0x1006df58]
mov eax, dword [0x1006df54]
mov edx, ecx
add edx, 0x787ad707
sub edx, 1
sub edx, 0x787ad707
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, 0x8e2512d7
mov ecx, 0x8e3c9024
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov ecx, dword [0x1006df58]
mov eax, dword [0x1006df54]
mov edx, ecx
sub edx, 0xa99b42cc
sub edx, 1
add edx, 0xa99b42cc
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, 0x8e2512d7
mov ecx, 0xf6f1be85
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov dl, byte [ebp - 0x145]
mov eax, 0x64742845
mov ecx, 0x56e2f0b8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
add eax, 4
add eax, 0x10
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x1a4], 0x1f5dc34d
jmp 0x10002905
mov ecx, dword [0x1006df58]
mov eax, dword [0x1006df54]
mov edx, ecx
sub edx, 0x7d127e6a
sub edx, 1
add edx, 0x7d127e6a
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, 0x84225fda
mov ecx, 0x1df0bb49
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov eax, dword [ebp - 0x140]
mov ax, word [eax]
mov word [ebp - 0x13c], ax
mov ecx, dword [0x1006df58]
mov eax, dword [0x1006df54]
mov edx, ecx
add edx, 0x64bc1215
sub edx, 1
sub edx, 0x64bc1215
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, 0x84225fda
mov ecx, 0xc31893ca
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov dword [ebp - 0x1a4], 0x20c5fe28
jmp 0x10002905
mov ecx, dword [0x1006df58]
mov eax, dword [0x1006df54]
mov edx, ecx
sub edx, 0x8102672
sub edx, 1
add edx, 0x8102672
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, 0x89234aa6
mov ecx, 0xbfe8e85b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov ax, word [ebp - 0x13c]
movzx eax, ax
mov ecx, dword [ebp - 0x144]
sub ecx, 0x19f94
add ecx, eax
add ecx, 0x19f94
mov eax, dword [ebp - 0x17c]
movzx eax, word [eax]
imul eax, eax, 0x28
add ecx, 0x107c688d
add ecx, eax
sub ecx, 0x107c688d
mov eax, dword [ebp - 0x178]
mov dword [eax], ecx
mov eax, dword [ebp - 0x178]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100141a0
call fcn.1000a7d0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x139], al
mov eax, dword [0x1006df58]
mov ecx, dword [0x1006df54]
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, 0x89234aa6
mov ecx, 0xf1d90727
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov dl, byte [ebp - 0x139]
mov eax, 0x3b6eac90
mov ecx, 0x2f146232
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov eax, dword [ebp - 0x174]
mov dword [eax], 0
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x178]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x1a4], 0x3bd6efbb
jmp 0x10002905
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x138]
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 - 0x170]
mov byte [eax], cl
mov ecx, dword [ebp - 0x198]
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
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 - 0x188]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub ecx, 0xc680b0af
add ecx, eax
add ecx, 0xc680b0af
mov eax, dword [ebp - 0x178]
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.100085c0
add esp, 0xc
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x1a4], 0xead49504
jmp 0x10002905
mov eax, dword [0x1006df58]
mov ecx, dword [0x1006df54]
mov edx, eax
add edx, 0x54e04455
sub edx, 1
sub edx, 0x54e04455
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, 0x1ab672d
mov ecx, 0x6a0cf26a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov eax, dword [ebp - 0x124]
mov eax, dword [eax + 0xc]
mov esi, dword [ebp - 0x128]
sub esi, 0x8e4e5ec3
add esi, eax
add esi, 0x8e4e5ec3
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x12c]
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 - 0x170]
mov byte [eax], cl
mov ecx, dword [0x1006df58]
mov eax, dword [0x1006df54]
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, 0x1ab672d
mov ecx, 0x5a8e1792
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov dword [ebp - 0x1a4], 0x2f146232
jmp 0x10002905
mov eax, dword [0x1006df58]
mov ecx, dword [0x1006df54]
mov edx, eax
add edx, 0xb55e4aff
sub edx, 1
sub edx, 0xb55e4aff
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, 0xb1c40076
mov ecx, 0x60a6764d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov ecx, dword [0x1006df58]
mov eax, dword [0x1006df54]
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, 0xb1c40076
mov ecx, 0x5bde52cf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x10002905
mov dword [ebp - 0x1a4], 0xdb7e417e
jmp 0x10002905
mov eax, dword [ebp - 0x17c]
mov ax, word [eax]
mov word [ebp - 0x11e], ax
mov dword [ebp - 0x1a4], 0xc7d7cc94
jmp 0x10002905
mov cx, word [ebp - 0x11e]
xor eax, eax
sub ax, cx
xor ecx, ecx
sub cx, 1
add ax, cx
xor ecx, ecx
sub cx, ax
mov eax, dword [ebp - 0x17c]
mov word [eax], cx
mov dword [ebp - 0x1a4], 0x185e16e6
jmp 0x10002905
mov dword [ebp - 0x1a4], 0xd965e2a1
jmp 0x10002905
mov eax, dword [ebp - 0x19c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x1a0]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a4], 0xcc7b52ca
jmp 0x10002905
mov eax, dword [ebp - 0x190]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a4], 0x5ded99e
jmp 0x10002905
mov dword [ebp - 0x1a4], 0xad19a2a4
jmp 0x10002905
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.10007840
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x18c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x190], eax
lea eax, [ebp - 0x11c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10008460
add esp, 0xc
mov eax, dword [ebp - 0x18c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x1a4], 0xb6d57f5c
jmp 0x10002905
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x1a4], 0xd1ac81d
jmp 0x10002905
mov dword [ebp - 0x1a4], 0xde31360
jmp 0x10002905
mov dword [ebp - 0x1a4], 0x117f5be
jmp 0x10002905
mov dword [ebp - 0x1a4], 0x8e3c9024
jmp 0x10002905
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x1a4], 0x1df0bb49
jmp 0x10002905
mov ax, word [ebp - 0x13c]
movzx edx, ax
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x144]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x17c]
movzx eax, word [eax]
imul eax, eax, 0x28
add ecx, 0xfd0fcc63
add ecx, eax
sub ecx, 0xfd0fcc63
mov eax, dword [ebp - 0x178]
mov dword [eax], ecx
mov eax, dword [ebp - 0x178]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100141a0
call fcn.1000a7d0
add esp, 8
mov dword [ebp - 0x1a4], 0xbfe8e85b
jmp 0x10002905
mov eax, dword [ebp - 0x124]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x128]
mov eax, dword [ebp - 0x128]
mov eax, dword [ebp - 0x128]
mov esi, dword [ebp - 0x128]
xor eax, eax
sub eax, ecx
sub esi, eax
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x12c]
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 - 0x170]
mov byte [eax], cl
mov dword [ebp - 0x1a4], 0x6a0cf26a
jmp 0x10002905
mov dword [ebp - 0x1a4], 0x60a6764d
jmp 0x10001388