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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x198
mov eax, dword [ebp + 8]
mov dword [ebp - 0x19c], eax
mov eax, dword [0x100a1e80]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x198], 0x3194cc7c
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x1a0], eax
sub eax, 0x82d58846
je 0x1000837f
jmp 0x100076a4
mov eax, dword [ebp - 0x1a0]
sub eax, 0x88783c88
je 0x10008b4e
jmp 0x100076ba
mov eax, dword [ebp - 0x1a0]
sub eax, 0x8f8f54ce
je 0x1000845f
jmp 0x100076d0
mov eax, dword [ebp - 0x1a0]
sub eax, 0x9a3cf864
je 0x10007e8a
jmp 0x100076e6
mov eax, dword [ebp - 0x1a0]
sub eax, 0x9aee2f37
je 0x10008934
jmp 0x100076fc
mov eax, dword [ebp - 0x1a0]
sub eax, 0xa51d9975
je 0x10008c5b
jmp 0x10007712
mov eax, dword [ebp - 0x1a0]
sub eax, 0xa6ba3dc1
je 0x100089ec
jmp 0x10007728
mov eax, dword [ebp - 0x1a0]
sub eax, 0xa8553936
je 0x1000847d
jmp 0x1000773e
mov eax, dword [ebp - 0x1a0]
sub eax, 0xa98f474b
je 0x10008893
jmp 0x10007754
mov eax, dword [ebp - 0x1a0]
sub eax, 0xa9b0486f
je 0x100085a6
jmp 0x1000776a
mov eax, dword [ebp - 0x1a0]
sub eax, 0xaadde0d5
je 0x10008214
jmp 0x10007780
mov eax, dword [ebp - 0x1a0]
sub eax, 0xab75297d
je 0x100089a3
jmp 0x10007796
mov eax, dword [ebp - 0x1a0]
sub eax, 0xb09afcfb
je 0x10008136
jmp 0x100077ac
mov eax, dword [ebp - 0x1a0]
sub eax, 0xb0c146b7
je 0x10007f20
jmp 0x100077c2
mov eax, dword [ebp - 0x1a0]
sub eax, 0xb0deb422
je 0x10008dce
jmp 0x100077d8
mov eax, dword [ebp - 0x1a0]
sub eax, 0xb207164e
je 0x10007fb8
jmp 0x100077ee
mov eax, dword [ebp - 0x1a0]
sub eax, 0xb5be0aa8
je 0x10008c9c
jmp 0x10007804
mov eax, dword [ebp - 0x1a0]
sub eax, 0xb69560ba
je 0x1000872c
jmp 0x1000781a
mov eax, dword [ebp - 0x1a0]
sub eax, 0xc29e33fb
je 0x10008bd3
jmp 0x10007830
mov eax, dword [ebp - 0x1a0]
sub eax, 0xc53b7700
je 0x10008151
jmp 0x10007846
mov eax, dword [ebp - 0x1a0]
sub eax, 0xc639334e
je 0x10008edd
jmp 0x1000785c
mov eax, dword [ebp - 0x1a0]
sub eax, 0xc7fb543e
je 0x10008943
jmp 0x10007872
mov eax, dword [ebp - 0x1a0]
sub eax, 0xc841ea3e
je 0x10008d58
jmp 0x10007888
mov eax, dword [ebp - 0x1a0]
sub eax, 0xd14c505e
je 0x10008c6a
jmp 0x1000789e
mov eax, dword [ebp - 0x1a0]
sub eax, 0xd18c28f5
je 0x10007fec
jmp 0x100078b4
mov eax, dword [ebp - 0x1a0]
sub eax, 0xd824f13c
je 0x10008a69
jmp 0x100078ca
mov eax, dword [ebp - 0x1a0]
sub eax, 0xd86dc1e2
je 0x10007fdd
jmp 0x100078e0
mov eax, dword [ebp - 0x1a0]
sub eax, 0xd88989c6
je 0x10008d49
jmp 0x100078f6
mov eax, dword [ebp - 0x1a0]
sub eax, 0xdb715e8c
je 0x1000881d
jmp 0x1000790c
mov eax, dword [ebp - 0x1a0]
sub eax, 0xdc529053
je 0x100080cc
jmp 0x10007922
mov eax, dword [ebp - 0x1a0]
sub eax, 0xde6e788a
je 0x10008c8b
jmp 0x10007938
mov eax, dword [ebp - 0x1a0]
sub eax, 0xea4b8a0f
je 0x10008d79
jmp 0x1000794e
mov eax, dword [ebp - 0x1a0]
sub eax, 0xeadfcaa6
je 0x10008e0b
jmp 0x10007964
mov eax, dword [ebp - 0x1a0]
sub eax, 0xed377e66
je 0x10008e2e
jmp 0x1000797a
mov eax, dword [ebp - 0x1a0]
sub eax, 0xef14ec3d
je 0x100083d0
jmp 0x10007990
mov eax, dword [ebp - 0x1a0]
sub eax, 0xf01bebb0
je 0x10008115
jmp 0x100079a6
mov eax, dword [ebp - 0x1a0]
sub eax, 0xf01c946a
je 0x10007f2f
jmp 0x100079bc
mov eax, dword [ebp - 0x1a0]
sub eax, 0xf039290a
je 0x10008602
jmp 0x100079d2
mov eax, dword [ebp - 0x1a0]
sub eax, 0xc0a87d
je 0x100081a2
jmp 0x100079e8
mov eax, dword [ebp - 0x1a0]
sub eax, 0x3affc92
je 0x10008df6
jmp 0x100079fe
mov eax, dword [ebp - 0x1a0]
sub eax, 0x6a42ed8
je 0x10007c99
jmp 0x10007a14
mov eax, dword [ebp - 0x1a0]
sub eax, 0x754e96c
je 0x10008b5d
jmp 0x10007a2a
mov eax, dword [ebp - 0x1a0]
sub eax, 0x869ade0
je 0x1000864b
jmp 0x10007a40
mov eax, dword [ebp - 0x1a0]
sub eax, 0xb996eb0
je 0x10008a5a
jmp 0x10007a56
mov eax, dword [ebp - 0x1a0]
sub eax, 0xd0d9e4d
je 0x1000855a
jmp 0x10007a6c
mov eax, dword [ebp - 0x1a0]
sub eax, 0x10e78f28
je 0x1000805e
jmp 0x10007a82
mov eax, dword [ebp - 0x1a0]
sub eax, 0x15ad3bcc
je 0x10008299
jmp 0x10007a98
mov eax, dword [ebp - 0x1a0]
sub eax, 0x15fcc6ab
je 0x10008370
jmp 0x10007aae
mov eax, dword [ebp - 0x1a0]
sub eax, 0x1f343c36
je 0x10007e2a
jmp 0x10007ac4
mov eax, dword [ebp - 0x1a0]
sub eax, 0x2389e12c
je 0x10008aba
jmp 0x10007ada
mov eax, dword [ebp - 0x1a0]
sub eax, 0x2aadb907
je 0x10008ead
jmp 0x10007af0
mov eax, dword [ebp - 0x1a0]
sub eax, 0x31823141
je 0x100086b8
jmp 0x10007b06
mov eax, dword [ebp - 0x1a0]
sub eax, 0x3194cc7c
je 0x10007c81
jmp 0x10007b1c
mov eax, dword [ebp - 0x1a0]
sub eax, 0x33c027c9
je 0x10008984
jmp 0x10007b32
mov eax, dword [ebp - 0x1a0]
sub eax, 0x35b09a16
je 0x10007e09
jmp 0x10007b48
mov eax, dword [ebp - 0x1a0]
sub eax, 0x3b70d607
je 0x100086c7
jmp 0x10007b5e
mov eax, dword [ebp - 0x1a0]
sub eax, 0x3ce63e81
je 0x10008223
jmp 0x10007b74
mov eax, dword [ebp - 0x1a0]
sub eax, 0x3e646cc2
je 0x10008952
jmp 0x10007b8a
mov eax, dword [ebp - 0x1a0]
sub eax, 0x4a0d550c
je 0x10008700
jmp 0x10007ba0
mov eax, dword [ebp - 0x1a0]
sub eax, 0x4ab89eac
je 0x10007d07
jmp 0x10007bb6
mov eax, dword [ebp - 0x1a0]
sub eax, 0x5e756228
je 0x1000857d
jmp 0x10007bcc
mov eax, dword [ebp - 0x1a0]
sub eax, 0x5ec16b5d
je 0x1000846e
jmp 0x10007be2
mov eax, dword [ebp - 0x1a0]
sub eax, 0x619980d9
je 0x100084f3
jmp 0x10007bf8
mov eax, dword [ebp - 0x1a0]
sub eax, 0x6fad57da
je 0x10008205
jmp 0x10007c0e
mov eax, dword [ebp - 0x1a0]
sub eax, 0x7258c092
je 0x10008ebc
push eax
mov eax, esp
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x198], 0x6a42ed8
jmp 0x10008ef9
mov ecx, dword [0x100a3344]
mov eax, dword [0x100a3340]
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, 0xb5be0aa8
mov ecx, 0x4ab89eac
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov eax, dword [ebp - 0x19c]
push eax
mov ecx, esp
mov dword [ebp - 0x170], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x16c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x168], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x178], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x17c], 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.10022260
add esp, 0xc
mov eax, dword [ebp - 0x178]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x180], eax
cmp dword [ebp - 0x180], 0
setne al
and al, 1
mov byte [ebp - 0x15d], al
mov ecx, dword [0x100a3344]
mov eax, dword [0x100a3340]
mov edx, ecx
sub edx, 0xca3395ad
sub edx, 1
add edx, 0xca3395ad
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, 0xb5be0aa8
mov ecx, 0x35b09a16
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov dl, byte [ebp - 0x15d]
mov eax, 0x1f343c36
mov ecx, 0x7a91e484
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov dword [ebp - 0x198], 0xde6e788a
jmp 0x10008ef9
mov ecx, dword [ebp - 0x180]
mov edx, dword [ebp - 0x17c]
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 - 0x184], eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x15c], eax
mov eax, dword [0x100a3344]
mov ecx, dword [0x100a3340]
mov edx, eax
sub edx, 0x7e98758d
sub edx, 1
add edx, 0x7e98758d
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, 0x754cac89
mov ecx, 0xb0c146b7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov dword [ebp - 0x198], 0xf01c946a
jmp 0x10008ef9
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x15c]
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]
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 - 0x188], eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x198], 0xb207164e
jmp 0x10008ef9
mov edx, dword [ebp - 0x158]
mov esi, 0xffffffff
mov eax, 0xd18c28f5
mov ecx, 0xd86dc1e2
cmp edx, esi
cmove eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov dword [ebp - 0x198], 0xde6e788a
jmp 0x10008ef9
mov eax, dword [ebp - 0x188]
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 - 0x18c], eax
mov dword [ebp - 0x198], 0x7fbc06d6
jmp 0x10008ef9
mov ecx, dword [0x100a3344]
mov eax, dword [0x100a3340]
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, 0xd88989c6
mov ecx, 0xdc529053
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov eax, dword [0x100a3344]
mov ecx, dword [0x100a3340]
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, 0xd88989c6
mov ecx, 0xf01bebb0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov dl, byte [ebp - 0x151]
mov eax, 0xb09afcfb
mov ecx, 0x3ce63e81
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x198], 0xc53b7700
jmp 0x10008ef9
mov eax, dword [0x100a3344]
mov ecx, dword [0x100a3340]
mov edx, eax
sub edx, 0xe3be71da
sub edx, 1
add edx, 0xe3be71da
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, 0xc841ea3e
mov ecx, 0xc0a87d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov eax, dword [ebp - 0x150]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x100a3344]
mov ecx, dword [0x100a3340]
mov edx, eax
sub edx, 0x29fcf87e
sub edx, 1
add edx, 0x29fcf87e
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, 0xc841ea3e
mov ecx, 0x6fad57da
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov dword [ebp - 0x198], 0xaadde0d5
jmp 0x10008ef9
mov dword [ebp - 0x198], 0xde6e788a
jmp 0x10008ef9
mov ecx, dword [0x100a3344]
mov eax, dword [0x100a3340]
mov edx, ecx
sub edx, 0xcc6615f7
sub edx, 1
add edx, 0xcc6615f7
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, 0xea4b8a0f
mov ecx, 0x15ad3bcc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov eax, dword [ebp - 0x18c]
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 dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x194]
mov edx, dword [ecx + 0x3c]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x14c], eax
mov ecx, dword [0x100a3344]
mov eax, dword [0x100a3340]
mov edx, ecx
sub edx, 0x1e286fe9
sub edx, 1
add edx, 0x1e286fe9
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, 0xea4b8a0f
mov ecx, 0x15fcc6ab
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov dword [ebp - 0x198], 0x82d58846
jmp 0x10008ef9
mov eax, dword [0x100a3344]
mov ecx, dword [0x100a3340]
mov edx, eax
sub edx, 0x13a3d7b0
sub edx, 1
add edx, 0x13a3d7b0
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, 0xb0deb422
mov ecx, 0xef14ec3d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x14c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x170]
mov word [eax], 0
mov ecx, dword [0x100a3344]
mov eax, dword [0x100a3340]
mov edx, ecx
add edx, 0x89a839c5
sub edx, 1
sub edx, 0x89a839c5
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, 0xb0deb422
mov ecx, 0x8f8f54ce
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov dword [ebp - 0x198], 0x5ec16b5d
jmp 0x10008ef9
mov dword [ebp - 0x198], 0xa8553936
jmp 0x10008ef9
mov ecx, dword [0x100a3344]
mov eax, dword [0x100a3340]
mov edx, ecx
add edx, 0x67afe462
sub edx, 1
sub edx, 0x67afe462
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, 0x3affc92
mov ecx, 0x619980d9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov eax, dword [ebp - 0x170]
movzx eax, word [eax]
mov dword [ebp - 0x148], eax
mov eax, dword [0x100a3344]
mov ecx, dword [0x100a3340]
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, 0x3affc92
mov ecx, 0x7d313e1a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
add eax, 4
add eax, 2
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x198], 0x5e756228
jmp 0x10008ef9
mov eax, dword [ebp - 0x144]
movzx esi, word [eax]
mov edx, dword [ebp - 0x148]
mov eax, 0xd824f13c
mov ecx, 0xa9b0486f
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x18
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, dword [ebp - 0x174]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
sub eax, 0x6a67efc0
add eax, ecx
add eax, 0x6a67efc0
mov ecx, dword [ebp - 0x170]
movzx ecx, word [ecx]
imul ecx, ecx, 0x28
sub eax, 0x52f1acb2
add eax, ecx
add eax, 0x52f1acb2
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x198], 0xf039290a
jmp 0x10008ef9
mov eax, dword [0x100a3344]
mov ecx, dword [0x100a3340]
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, 0xeadfcaa6
mov ecx, 0x869ade0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x16c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
mov dword [ebp - 0x13c], eax
mov eax, dword [0x100a3344]
mov ecx, dword [0x100a3340]
mov edx, eax
add edx, 0x10a6961c
sub edx, 1
sub edx, 0x10a6961c
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, 0xeadfcaa6
mov ecx, 0x31823141
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov dword [ebp - 0x198], 0x3b70d607
jmp 0x10008ef9
mov ecx, dword [ebp - 0x13c]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x1002f89a
call fcn.10025bc0
add esp, 8
mov edx, eax
mov eax, 0x4a0d550c
mov ecx, 0xc7fb543e
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov eax, dword [ebp - 0x168]
mov dword [eax], 0
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
add eax, 8
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x198], 0xb69560ba
jmp 0x10008ef9
mov eax, dword [ebp - 0x138]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x168]
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 - 0x164]
mov byte [eax], cl
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub edx, eax
mov ecx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0xea04a72c
add ecx, eax
sub ecx, 0xea04a72c
mov eax, dword [ebp - 0x16c]
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.100223c0
add esp, 0xc
mov eax, dword [ebp - 0x168]
mov eax, dword [eax]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x198], 0xdb715e8c
jmp 0x10008ef9
mov ecx, dword [0x100a3344]
mov eax, dword [0x100a3340]
mov edx, ecx
sub edx, 0xdb8f3f1b
sub edx, 1
add edx, 0xdb8f3f1b
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, 0xed377e66
mov ecx, 0xa98f474b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov eax, dword [ebp - 0x128]
mov ecx, dword [eax + 0xc]
mov esi, dword [ebp - 0x12c]
xor eax, eax
sub eax, ecx
sub esi, eax
mov eax, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x130]
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 - 0x164]
mov byte [eax], cl
mov eax, dword [0x100a3344]
mov ecx, dword [0x100a3340]
mov edx, eax
add edx, 0xf40c444f
sub edx, 1
sub edx, 0xf40c444f
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, 0xed377e66
mov ecx, 0x9aee2f37
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov dword [ebp - 0x198], 0xc7fb543e
jmp 0x10008ef9
mov dword [ebp - 0x198], 0x3e646cc2
jmp 0x10008ef9
mov eax, dword [ebp - 0x170]
mov ax, word [eax]
xor ecx, ecx
sub cx, ax
xor eax, eax
sub ax, 1
add cx, ax
xor eax, eax
sub ax, cx
mov word [ebp - 0x122], ax
mov dword [ebp - 0x198], 0x33c027c9
jmp 0x10008ef9
mov eax, dword [ebp - 0x170]
mov cx, word [ebp - 0x122]
mov word [eax], cx
mov dword [ebp - 0x198], 0xab75297d
jmp 0x10008ef9
mov eax, dword [0x100a3344]
mov ecx, dword [0x100a3340]
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, 0x2aadb907
mov ecx, 0xa6ba3dc1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov ecx, dword [0x100a3344]
mov eax, dword [0x100a3340]
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, 0x2aadb907
mov ecx, 0xb996eb0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov dword [ebp - 0x198], 0xa8553936
jmp 0x10008ef9
mov eax, dword [0x100a3344]
mov ecx, dword [0x100a3340]
mov edx, eax
sub edx, 0x97abb17d
sub edx, 1
add edx, 0x97abb17d
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, 0x7258c092
mov ecx, 0x2389e12c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov eax, dword [ebp - 0x188]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x120], eax
mov ecx, dword [0x100a3344]
mov eax, dword [0x100a3340]
mov edx, ecx
sub edx, 0x1adecc83
sub edx, 1
add edx, 0x1adecc83
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, 0x7258c092
mov ecx, 0x88783c88
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov dword [ebp - 0x198], 0x754e96c
jmp 0x10008ef9
mov ecx, dword [0x100a3344]
mov eax, dword [0x100a3340]
mov edx, ecx
sub edx, 0x1ffdc3e7
sub edx, 1
add edx, 0x1ffdc3e7
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, 0xc639334e
mov ecx, 0xc29e33fb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov eax, dword [ebp - 0x120]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x100a3344]
mov eax, dword [0x100a3340]
mov edx, ecx
sub edx, 0xbe8f3f66
sub edx, 1
add edx, 0xbe8f3f66
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, 0xc639334e
mov ecx, 0xa51d9975
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10008ef9
mov dword [ebp - 0x198], 0xd14c505e
jmp 0x10008ef9
mov eax, dword [ebp - 0x17c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x198], 0xde6e788a
jmp 0x10008ef9
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.100214c0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x178], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x17c], 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.10022260
add esp, 0xc
mov eax, dword [ebp - 0x178]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x198], 0x4ab89eac
jmp 0x10008ef9
mov dword [ebp - 0x198], 0xdc529053
jmp 0x10008ef9
mov eax, dword [ebp - 0x150]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x198], 0xc0a87d
jmp 0x10008ef9
mov eax, dword [ebp - 0x18c]
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 dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x198], 0x15ad3bcc
jmp 0x10008ef9
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x14c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x170]
mov word [eax], 0
mov dword [ebp - 0x198], 0xef14ec3d
jmp 0x10008ef9
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x198], 0x619980d9
jmp 0x10008ef9
mov ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x16c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x198], 0x869ade0
jmp 0x10008ef9
mov eax, dword [ebp - 0x128]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x12c]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor esi, esi
sub esi, eax
mov eax, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x130]
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 - 0x164]
mov byte [eax], cl
mov dword [ebp - 0x198], 0xa98f474b
jmp 0x10008ef9
mov dword [ebp - 0x198], 0xa6ba3dc1
jmp 0x10008ef9
mov eax, dword [ebp - 0x120]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x198], 0xc29e33fb
jmp 0x10007688