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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x94
mov eax, dword [ebp + 8]
mov dword [ebp - 0x98], eax
mov eax, dword [0x1008b480]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x1008c954]
mov eax, dword [0x1008c950]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x8e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x8d], al
mov dword [ebp - 0x94], 0x6a9ffa49
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x9c], eax
sub eax, 0x806cfd92
je 0x10009c0b
jmp 0x10008f6b
mov eax, dword [ebp - 0x9c]
sub eax, 0x80b44002
je 0x100098e7
jmp 0x10008f81
mov eax, dword [ebp - 0x9c]
sub eax, 0x83234886
je 0x10009c9f
jmp 0x10008f97
mov eax, dword [ebp - 0x9c]
sub eax, 0x8570f90e
je 0x10009485
jmp 0x10008fad
mov eax, dword [ebp - 0x9c]
sub eax, 0x86996116
je 0x100095df
jmp 0x10008fc3
mov eax, dword [ebp - 0x9c]
sub eax, 0x8b44f0ac
je 0x100099cf
jmp 0x10008fd9
mov eax, dword [ebp - 0x9c]
sub eax, 0x8f5e91fb
je 0x1000a152
jmp 0x10008fef
mov eax, dword [ebp - 0x9c]
sub eax, 0x912b38fe
je 0x100096c4
jmp 0x10009005
mov eax, dword [ebp - 0x9c]
sub eax, 0x92b1040a
je 0x1000969e
jmp 0x1000901b
mov eax, dword [ebp - 0x9c]
sub eax, 0x964797d6
je 0x10009db2
jmp 0x10009031
mov eax, dword [ebp - 0x9c]
sub eax, 0xa11f59df
je 0x10009575
jmp 0x10009047
mov eax, dword [ebp - 0x9c]
sub eax, 0xa97f49e8
je 0x10009b0a
jmp 0x1000905d
mov eax, dword [ebp - 0x9c]
sub eax, 0xb47166a3
je 0x10009965
jmp 0x10009073
mov eax, dword [ebp - 0x9c]
sub eax, 0xb84f9741
je 0x10009c3e
jmp 0x10009089
mov eax, dword [ebp - 0x9c]
sub eax, 0xbd9e1f0e
je 0x10009eec
jmp 0x1000909f
mov eax, dword [ebp - 0x9c]
sub eax, 0xc1b124bc
je 0x1000980e
jmp 0x100090b5
mov eax, dword [ebp - 0x9c]
sub eax, 0xc503760d
je 0x100097ff
jmp 0x100090cb
mov eax, dword [ebp - 0x9c]
sub eax, 0xd8aa37ca
je 0x10009534
jmp 0x100090e1
mov eax, dword [ebp - 0x9c]
sub eax, 0xd98ef81c
je 0x10009f56
jmp 0x100090f7
mov eax, dword [ebp - 0x9c]
sub eax, 0xe190e256
je 0x10009a78
jmp 0x1000910d
mov eax, dword [ebp - 0x9c]
sub eax, 0xe7917e78
je 0x10009ba8
jmp 0x10009123
mov eax, dword [ebp - 0x9c]
sub eax, 0xee7e14d0
je 0x1000970d
jmp 0x10009139
mov eax, dword [ebp - 0x9c]
sub eax, 0xef146f54
je 0x10009cd7
jmp 0x1000914f
mov eax, dword [ebp - 0x9c]
sub eax, 0xf4b61631
je 0x10009c88
jmp 0x10009165
mov eax, dword [ebp - 0x9c]
sub eax, 0xf51ad88e
je 0x1000a061
jmp 0x1000917b
mov eax, dword [ebp - 0x9c]
sub eax, 0xfad69990
je 0x100096ad
jmp 0x10009191
mov eax, dword [ebp - 0x9c]
sub eax, 0x133bf3
je 0x10009edd
jmp 0x100091a7
mov eax, dword [ebp - 0x9c]
sub eax, 0x33de6dc
je 0x1000a09f
jmp 0x100091bd
mov eax, dword [ebp - 0x9c]
sub eax, 0x8f81fd1
je 0x10009fdf
jmp 0x100091d3
mov eax, dword [ebp - 0x9c]
sub eax, 0xc7b03fc
je 0x10009dc1
jmp 0x100091e9
mov eax, dword [ebp - 0x9c]
sub eax, 0x146d378a
je 0x10009f05
jmp 0x100091ff
mov eax, dword [ebp - 0x9c]
sub eax, 0x16a4406b
je 0x10009543
jmp 0x10009215
mov eax, dword [ebp - 0x9c]
sub eax, 0x1afaf467
je 0x1000a164
jmp 0x1000922b
mov eax, dword [ebp - 0x9c]
sub eax, 0x20ad496a
je 0x10009d4d
jmp 0x10009241
mov eax, dword [ebp - 0x9c]
sub eax, 0x2505483a
je 0x100099de
jmp 0x10009257
mov eax, dword [ebp - 0x9c]
sub eax, 0x25cf0ff3
je 0x1000a070
jmp 0x1000926d
mov eax, dword [ebp - 0x9c]
sub eax, 0x28145c0e
je 0x1000997c
jmp 0x10009283
mov eax, dword [ebp - 0x9c]
sub eax, 0x291fb3a4
je 0x1000a1d9
jmp 0x10009299
mov eax, dword [ebp - 0x9c]
sub eax, 0x37343f1a
je 0x1000999a
jmp 0x100092af
mov eax, dword [ebp - 0x9c]
sub eax, 0x3aad4482
je 0x10009b32
jmp 0x100092c5
mov eax, dword [ebp - 0x9c]
sub eax, 0x41fdb69b
je 0x1000a1bb
jmp 0x100092db
mov eax, dword [ebp - 0x9c]
sub eax, 0x43defc67
je 0x1000a1a5
jmp 0x100092f1
mov eax, dword [ebp - 0x9c]
sub eax, 0x44d11f93
je 0x1000a090
jmp 0x10009307
mov eax, dword [ebp - 0x9c]
sub eax, 0x4500c039
je 0x10009c1a
jmp 0x1000931d
mov eax, dword [ebp - 0x9c]
sub eax, 0x4624bc36
je 0x10009fee
jmp 0x10009333
mov eax, dword [ebp - 0x9c]
sub eax, 0x4e2c7484
je 0x10009afb
jmp 0x10009349
mov eax, dword [ebp - 0x9c]
sub eax, 0x5844fd41
je 0x10009914
jmp 0x1000935f
mov eax, dword [ebp - 0x9c]
sub eax, 0x594e690a
je 0x1000a081
jmp 0x10009375
mov eax, dword [ebp - 0x9c]
sub eax, 0x5971c599
je 0x10009655
jmp 0x1000938b
mov eax, dword [ebp - 0x9c]
sub eax, 0x59a9a080
je 0x100099b1
jmp 0x100093a1
mov eax, dword [ebp - 0x9c]
sub eax, 0x5dcb00df
je 0x1000a043
jmp 0x100093b7
mov eax, dword [ebp - 0x9c]
sub eax, 0x63291cb0
je 0x10009b19
jmp 0x100093cd
mov eax, dword [ebp - 0x9c]
sub eax, 0x68175371
je 0x10009e9c
jmp 0x100093e3
mov eax, dword [ebp - 0x9c]
sub eax, 0x6a9ffa49
je 0x10009456
jmp 0x100093f9
mov eax, dword [ebp - 0x9c]
sub eax, 0x6e1d6e6a
je 0x1000a007
jmp 0x1000940f
mov eax, dword [ebp - 0x9c]
sub eax, 0x777b822e
je 0x1000985f
jmp 0x10009425
mov eax, dword [ebp - 0x9c]
sub eax, 0x7a591fc9
je 0x10009905
jmp 0x1000943b
mov eax, dword [ebp - 0x9c]
sub eax, 0x7fce10b3
je 0x10009a27
jmp 0x10009451
jmp 0x1000a1ef
mov al, byte [ebp - 0x8e]
mov cl, byte [ebp - 0x8d]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x594e690a
mov ecx, 0x8570f90e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a1ef
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x84], eax
push eax
mov eax, esp
mov dword [ebp - 0x80], eax
push eax
mov eax, esp
mov dword [ebp - 0x7c], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x78], eax
push eax
mov eax, esp
mov dword [ebp - 0x74], eax
push eax
mov eax, esp
mov dword [ebp - 0x70], eax
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
push eax
mov eax, esp
mov dword [ebp - 0x68], eax
push eax
mov eax, esp
mov dword [ebp - 0x64], eax
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
push eax
mov eax, esp
mov dword [ebp - 0x5c], eax
mov eax, dword [0x1008c954]
mov ecx, dword [0x1008c950]
mov edx, eax
sub edx, 0x165e41ed
sub edx, 1
add edx, 0x165e41ed
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, 0x594e690a
mov ecx, 0xd8aa37ca
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a1ef
mov dword [ebp - 0x94], 0x16a4406b
jmp 0x1000a1ef
mov ecx, dword [ebp - 0x98]
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
push eax
mov eax, esp
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x94], 0xa11f59df
jmp 0x1000a1ef
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.100249e0
add esp, 0xc
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov edx, dword [ebp - 0x80]
mov eax, 0x86996116
mov ecx, 0xfad69990
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a1ef
mov ecx, dword [0x1008c954]
mov eax, dword [0x1008c950]
mov edx, ecx
sub edx, 0xb8066aee
sub edx, 1
add edx, 0xb8066aee
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, 0x44d11f93
mov ecx, 0x5971c599
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a1ef
mov eax, dword [0x1008c954]
mov ecx, dword [0x1008c950]
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, 0x44d11f93
mov ecx, 0x92b1040a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a1ef
mov dword [ebp - 0x94], 0x25cf0ff3
jmp 0x1000a1ef
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x94], 0x912b38fe
jmp 0x1000a1ef
mov eax, dword [0x1008c954]
mov ecx, dword [0x1008c950]
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, 0x33de6dc
mov ecx, 0xee7e14d0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a1ef
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x4c]
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 - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x80]
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 - 0x78]
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 - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov eax, dword [0x1008c954]
mov ecx, dword [0x1008c950]
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, 0x33de6dc
mov ecx, 0xc503760d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a1ef
mov dword [ebp - 0x94], 0xc1b124bc
jmp 0x1000a1ef
mov eax, dword [0x1008c954]
mov ecx, dword [0x1008c950]
mov edx, eax
add edx, 0xa204ef0c
sub edx, 1
sub edx, 0xa204ef0c
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, 0x8f5e91fb
mov ecx, 0x777b822e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a1ef
mov eax, dword [ebp - 0x48]
mov ecx, 0xffffffff
cmp eax, ecx
sete al
and al, 1
mov byte [ebp - 0x41], al
mov ecx, dword [0x1008c954]
mov eax, dword [0x1008c950]
mov edx, ecx
sub edx, 0xd23f6ff5
sub edx, 1
add edx, 0xd23f6ff5
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, 0x8f5e91fb
mov ecx, 0x80b44002
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a1ef
mov dl, byte [ebp - 0x41]
mov eax, 0x5844fd41
mov ecx, 0x7a591fc9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a1ef
mov dword [ebp - 0x94], 0x25cf0ff3
jmp 0x1000a1ef
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1000002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov ecx, eax
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov dword [ebp - 0x94], 0xb47166a3
jmp 0x1000a1ef
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x94], 0x28145c0e
jmp 0x1000a1ef
mov edx, dword [ebp - 0x40]
mov eax, 0x37343f1a
mov ecx, 0x2505483a
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a1ef
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x94], 0x59a9a080
jmp 0x1000a1ef
mov eax, dword [ebp - 0x3c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0x8b44f0ac
jmp 0x1000a1ef
mov dword [ebp - 0x94], 0x25cf0ff3
jmp 0x1000a1ef
mov eax, dword [ebp - 0x70]
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 - 0x6c]
mov dword [eax], ecx
mov dword [ebp - 0x94], 0x7fce10b3
jmp 0x1000a1ef
mov eax, dword [0x1008c954]
mov ecx, dword [0x1008c950]
mov edx, eax
sub edx, 0x33b82257
sub edx, 1
add edx, 0x33b82257
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, 0x1afaf467
mov ecx, 0xe190e256
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a1ef
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
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 - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov word [eax], 0
mov eax, dword [0x1008c954]
mov ecx, dword [0x1008c950]
mov edx, eax
add edx, 0xb8eb6b7c
sub edx, 1
sub edx, 0xb8eb6b7c
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, 0x1afaf467
mov ecx, 0x4e2c7484
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a1ef
mov dword [ebp - 0x94], 0xa97f49e8
jmp 0x1000a1ef
mov dword [ebp - 0x94], 0x63291cb0
jmp 0x1000a1ef
mov eax, dword [ebp - 0x60]
mov ax, word [eax]
mov word [ebp - 0x36], ax
mov dword [ebp - 0x94], 0x3aad4482
jmp 0x1000a1ef
mov ecx, dword [0x1008c954]
mov eax, dword [0x1008c950]
mov edx, ecx
sub edx, 0x934fd73a
sub edx, 1
add edx, 0x934fd73a
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, 0x43defc67
mov ecx, 0xe7917e78
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a1ef
mov ax, word [ebp - 0x36]
movzx eax, ax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [0x1008c954]
mov ecx, dword [0x1008c950]
mov edx, eax
add edx, 0x60b9ed53
sub edx, 1
sub edx, 0x60b9ed53
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, 0x43defc67
mov ecx, 0x806cfd92
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a1ef
mov dword [ebp - 0x94], 0x4500c039
jmp 0x1000a1ef
mov eax, dword [ebp - 0x30]
movzx esi, word [eax + 6]
mov edx, dword [ebp - 0x34]
mov eax, 0x6e1d6e6a
mov ecx, 0xb84f9741
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a1ef
mov eax, dword [ebp - 0x64]
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 - 0x64]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
sub eax, 0xbbf66304
add eax, ecx
add eax, 0xbbf66304
mov ecx, dword [ebp - 0x60]
movzx ecx, word [ecx]
imul edx, ecx, 0x28
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x94], 0xf4b61631
jmp 0x1000a1ef
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x5c]
mov dword [eax], ecx
mov dword [ebp - 0x94], 0x83234886
jmp 0x1000a1ef
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x10032900
call fcn.10028340
add esp, 8
mov edx, eax
mov eax, 0xef146f54
mov ecx, 0x133bf3
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a1ef
mov ecx, dword [0x1008c954]
mov eax, dword [0x1008c950]
mov edx, ecx
sub edx, 0xca0a8d37
sub edx, 1
add edx, 0xca0a8d37
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, 0x41fdb69b
mov ecx, 0x20ad496a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a1ef
mov eax, dword [ebp - 0x58]
mov dword [eax], 0
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [0x1008c954]
mov ecx, dword [0x1008c950]
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, 0x41fdb69b
mov ecx, 0x964797d6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a1ef
mov dword [ebp - 0x94], 0xc7b03fc
jmp 0x1000a1ef
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
mov ecx, dword [ebp - 0x24]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x28]
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 - 0x54]
mov byte [eax], cl
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x3f6f9a46
add edx, eax
add edx, 0x3f6f9a46
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, esi
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x5c]
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.10024b40
add esp, 0xc
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
add eax, 0x4f37d6f9
add eax, ecx
sub eax, 0x4f37d6f9
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x94], 0x68175371
jmp 0x1000a1ef
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
sub esp, 0x10
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x54]
mov byte [eax], cl
mov dword [ebp - 0x94], 0x133bf3
jmp 0x1000a1ef
mov dword [ebp - 0x94], 0xbd9e1f0e
jmp 0x1000a1ef
mov eax, dword [ebp - 0x60]
mov ax, word [eax]
mov word [ebp - 0x14], ax
mov dword [ebp - 0x94], 0x146d378a
jmp 0x1000a1ef
mov eax, dword [0x1008c954]
mov ecx, dword [0x1008c950]
mov edx, eax
add edx, 0x5d97f25a
sub edx, 1
sub edx, 0x5d97f25a
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, 0x291fb3a4
mov ecx, 0xd98ef81c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a1ef
mov ax, word [ebp - 0x14]
xor ecx, ecx
sub cx, ax
xor eax, eax
sub ax, 1
add cx, ax
xor eax, eax
sub ax, cx
mov word [ebp - 0x12], ax
mov ecx, dword [0x1008c954]
mov eax, dword [0x1008c950]
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, 0x291fb3a4
mov ecx, 0x8f81fd1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a1ef
mov dword [ebp - 0x94], 0x4624bc36
jmp 0x1000a1ef
mov eax, dword [ebp - 0x60]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov dword [ebp - 0x94], 0x63291cb0
jmp 0x1000a1ef
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x94], 0x5dcb00df
jmp 0x1000a1ef
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0xf51ad88e
jmp 0x1000a1ef
mov dword [ebp - 0x94], 0x25cf0ff3
jmp 0x1000a1ef
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.10023c40
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x94], 0x8570f90e
jmp 0x1000a1ef
mov dword [ebp - 0x94], 0x5971c599
jmp 0x1000a1ef
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x4c]
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 - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x80]
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 - 0x78]
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 - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x94], 0xee7e14d0
jmp 0x1000a1ef
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x94], 0x777b822e
jmp 0x1000a1ef
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
sub ecx, 0x9ce8ef96
add ecx, eax
add ecx, 0x9ce8ef96
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov word [eax], 0
mov dword [ebp - 0x94], 0xe190e256
jmp 0x1000a1ef
mov ax, word [ebp - 0x36]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x94], 0xe7917e78
jmp 0x1000a1ef
mov eax, dword [ebp - 0x58]
mov dword [eax], 0
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x94], 0x20ad496a
jmp 0x1000a1ef
mov ax, word [ebp - 0x14]
mov ax, word [ebp - 0x14]
mov ax, word [ebp - 0x14]
mov dword [ebp - 0x94], 0xd98ef81c
jmp 0x10008f4f