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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xa0
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa4], eax
mov eax, dword [0x1009c400]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x1009d740]
mov eax, dword [0x1009d73c]
mov edx, ecx
add edx, 0x3ce480ed
sub edx, 1
sub edx, 0x3ce480ed
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x9a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x99], al
mov dword [ebp - 0xa0], 0x17f158d0
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa8], eax
sub eax, 0x89008bae
je 0x10001edd
jmp 0x10001303
mov eax, dword [ebp - 0xa8]
sub eax, 0x8a19b681
je 0x10001d10
jmp 0x10001319
mov eax, dword [ebp - 0xa8]
sub eax, 0x8c2b0ac1
je 0x100020b4
jmp 0x1000132f
mov eax, dword [ebp - 0xa8]
sub eax, 0x8db0e5f8
je 0x10001eaa
jmp 0x10001345
mov eax, dword [ebp - 0xa8]
sub eax, 0x8e1175ed
je 0x10002301
jmp 0x1000135b
mov eax, dword [ebp - 0xa8]
sub eax, 0x9071468c
je 0x100022c6
jmp 0x10001371
mov eax, dword [ebp - 0xa8]
sub eax, 0x9bf5932d
je 0x10001d4d
jmp 0x10001387
mov eax, dword [ebp - 0xa8]
sub eax, 0xb07e1add
je 0x1000181d
jmp 0x1000139d
mov eax, dword [ebp - 0xa8]
sub eax, 0xb75decce
je 0x10001eec
jmp 0x100013b3
mov eax, dword [ebp - 0xa8]
sub eax, 0xb96a2821
je 0x10001fee
jmp 0x100013c9
mov eax, dword [ebp - 0xa8]
sub eax, 0xbb632ccc
je 0x10001b9b
jmp 0x100013df
mov eax, dword [ebp - 0xa8]
sub eax, 0xbbc8a7f3
je 0x10002419
jmp 0x100013f5
mov eax, dword [ebp - 0xa8]
sub eax, 0xbc02e8f7
je 0x100018f1
jmp 0x1000140b
mov eax, dword [ebp - 0xa8]
sub eax, 0xbe95a588
je 0x10001d36
jmp 0x10001421
mov eax, dword [ebp - 0xa8]
sub eax, 0xc4d8d99e
je 0x100023fb
jmp 0x10001437
mov eax, dword [ebp - 0xa8]
sub eax, 0xc77c3d42
je 0x100022df
jmp 0x1000144d
mov eax, dword [ebp - 0xa8]
sub eax, 0xd1c4b8f7
je 0x10002439
jmp 0x10001463
mov eax, dword [ebp - 0xa8]
sub eax, 0xd598d832
je 0x1000244e
jmp 0x10001479
mov eax, dword [ebp - 0xa8]
sub eax, 0xd62830dd
je 0x10002065
jmp 0x1000148f
mov eax, dword [ebp - 0xa8]
sub eax, 0xd6457d90
je 0x10001c14
jmp 0x100014a5
mov eax, dword [ebp - 0xa8]
sub eax, 0xe05e84ff
je 0x10001f10
jmp 0x100014bb
mov eax, dword [ebp - 0xa8]
sub eax, 0xe9741a3a
je 0x10001df0
jmp 0x100014d1
mov eax, dword [ebp - 0xa8]
sub eax, 0xea8d6d49
je 0x1000203d
jmp 0x100014e7
mov eax, dword [ebp - 0xa8]
sub eax, 0xebb78dea
je 0x10001cb6
jmp 0x100014fd
mov eax, dword [ebp - 0xa8]
sub eax, 0xf0b4062d
je 0x10002135
jmp 0x10001513
mov eax, dword [ebp - 0xa8]
sub eax, 0xf259ec35
je 0x10001c5d
jmp 0x10001529
mov eax, dword [ebp - 0xa8]
sub eax, 0xf56638e1
je 0x10001b8c
jmp 0x1000153f
mov eax, dword [ebp - 0xa8]
sub eax, 0xf714bc68
je 0x10001cc5
jmp 0x10001555
mov eax, dword [ebp - 0xa8]
sub eax, 0xfba6335f
je 0x10001989
jmp 0x1000156b
mov eax, dword [ebp - 0xa8]
sub eax, 0xfdcc1077
je 0x10001f2f
jmp 0x10001581
mov eax, dword [ebp - 0xa8]
sub eax, 0x1f49608
je 0x10001d7a
jmp 0x10001597
mov eax, dword [ebp - 0xa8]
sub eax, 0xa8af6e4
je 0x10002536
jmp 0x100015ad
mov eax, dword [ebp - 0xa8]
sub eax, 0xae582cd
je 0x10002230
jmp 0x100015c3
mov eax, dword [ebp - 0xa8]
sub eax, 0x1473c0f3
je 0x10002545
jmp 0x100015d9
mov eax, dword [ebp - 0xa8]
sub eax, 0x14c416e5
je 0x10002359
jmp 0x100015ef
mov eax, dword [ebp - 0xa8]
sub eax, 0x159ce907
je 0x100022b7
jmp 0x10001605
mov eax, dword [ebp - 0xa8]
sub eax, 0x17f158d0
je 0x100017ee
jmp 0x1000161b
mov eax, dword [ebp - 0xa8]
sub eax, 0x2305e8a8
je 0x10001d6b
jmp 0x10001631
mov eax, dword [ebp - 0xa8]
sub eax, 0x2be97ae0
je 0x10002310
jmp 0x10001647
mov eax, dword [ebp - 0xa8]
sub eax, 0x2d96fff0
je 0x10002221
jmp 0x1000165d
mov eax, dword [ebp - 0xa8]
sub eax, 0x333b39e9
je 0x10001c05
jmp 0x10001673
mov eax, dword [ebp - 0xa8]
sub eax, 0x37910b2e
je 0x1000189b
jmp 0x10001689
mov eax, dword [ebp - 0xa8]
sub eax, 0x3d6b76ff
je 0x1000197a
jmp 0x1000169f
mov eax, dword [ebp - 0xa8]
sub eax, 0x46b5b02c
je 0x100024c5
jmp 0x100016b5
mov eax, dword [ebp - 0xa8]
sub eax, 0x4b693edf
je 0x10001f78
jmp 0x100016cb
mov eax, dword [ebp - 0xa8]
sub eax, 0x4c7d8910
je 0x10001a45
jmp 0x100016e1
mov eax, dword [ebp - 0xa8]
sub eax, 0x519a6331
je 0x10001a36
jmp 0x100016f7
mov eax, dword [ebp - 0xa8]
sub eax, 0x5b26e0c5
je 0x1000188c
jmp 0x1000170d
mov eax, dword [ebp - 0xa8]
sub eax, 0x624065e1
je 0x100023c1
jmp 0x10001723
mov eax, dword [ebp - 0xa8]
sub eax, 0x63a30828
je 0x10001e9b
jmp 0x10001739
mov eax, dword [ebp - 0xa8]
sub eax, 0x662ce729
je 0x10002581
jmp 0x1000174f
mov eax, dword [ebp - 0xa8]
sub eax, 0x6845c673
je 0x100024d7
jmp 0x10001765
mov eax, dword [ebp - 0xa8]
sub eax, 0x70a31b3a
je 0x100019da
jmp 0x1000177b
mov eax, dword [ebp - 0xa8]
sub eax, 0x7775b4e0
je 0x100023b2
jmp 0x10001791
mov eax, dword [ebp - 0xa8]
sub eax, 0x780d53a8
je 0x100021ab
jmp 0x100017a7
mov eax, dword [ebp - 0xa8]
sub eax, 0x78ac1d16
je 0x10001ab3
jmp 0x100017bd
mov eax, dword [ebp - 0xa8]
sub eax, 0x7aa4e5b7
je 0x1000200c
jmp 0x100017d3
mov eax, dword [ebp - 0xa8]
sub eax, 0x7ed59dec
je 0x1000242a
jmp 0x100017e9
jmp 0x1000258e
mov al, byte [ebp - 0x9a]
mov cl, byte [ebp - 0x99]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x7ed59dec
mov ecx, 0xb07e1add
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000258e
push eax
mov eax, esp
mov dword [ebp - 0x98], eax
push eax
mov eax, esp
mov dword [ebp - 0x94], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x90], eax
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
mov eax, dword [0x1009d740]
mov ecx, dword [0x1009d73c]
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, 0x7ed59dec
mov ecx, 0x5b26e0c5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000258e
mov dword [ebp - 0xa0], 0x37910b2e
jmp 0x1000258e
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
sub esp, 0x104
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
push eax
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
mov dword [ebp - 0xa0], 0xbc02e8f7
jmp 0x1000258e
mov ecx, dword [ebp - 0xa4]
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x94]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1000c860
add esp, 0xc
mov eax, dword [ebp - 0x98]
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 - 0x8c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x8c]
mov eax, 0x3d6b76ff
mov ecx, 0xfba6335f
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000258e
mov dword [ebp - 0xa0], 0xbbc8a7f3
jmp 0x1000258e
mov eax, dword [0x1009d740]
mov ecx, dword [0x1009d73c]
mov edx, eax
add edx, 0x7da8e17c
sub edx, 1
sub edx, 0x7da8e17c
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, 0xd1c4b8f7
mov ecx, 0x70a31b3a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000258e
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov eax, dword [0x1009d740]
mov ecx, dword [0x1009d73c]
mov edx, eax
add edx, 0x28e4f8b2
sub edx, 1
sub edx, 0x28e4f8b2
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, 0xd1c4b8f7
mov ecx, 0x519a6331
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000258e
mov dword [ebp - 0xa0], 0x4c7d8910
jmp 0x1000258e
mov ecx, dword [0x1009d740]
mov eax, dword [0x1009d73c]
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, 0xd598d832
mov ecx, 0x78ac1d16
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000258e
mov eax, dword [ebp - 0x94]
mov edx, dword [eax]
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x5c]
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 - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x8c]
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 - 0x84]
mov dword [ebp - 0x58], eax
mov ecx, dword [0x1009d740]
mov eax, dword [0x1009d73c]
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, 0xd598d832
mov ecx, 0xf56638e1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000258e
mov dword [ebp - 0xa0], 0xbb632ccc
jmp 0x1000258e
mov eax, dword [ebp - 0x58]
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 - 0x80]
mov dword [eax], ecx
mov edx, dword [ebp - 0x80]
mov esi, 0xffffffff
mov eax, 0xd6457d90
mov ecx, 0x333b39e9
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000258e
mov dword [ebp - 0xa0], 0xbbc8a7f3
jmp 0x1000258e
mov eax, dword [0x1009d740]
mov ecx, dword [0x1009d73c]
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, 0x46b5b02c
mov ecx, 0xf259ec35
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000258e
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov eax, dword [0x1009d740]
mov ecx, dword [0x1009d73c]
mov edx, eax
add edx, 0x774fbf84
sub edx, 1
sub edx, 0x774fbf84
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, 0x46b5b02c
mov ecx, 0xebb78dea
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000258e
mov dword [ebp - 0xa0], 0xf714bc68
jmp 0x1000258e
mov eax, dword [ebp - 0x54]
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 - 0x50], eax
mov dword [ebp - 0xa0], 0x8a19b681
jmp 0x1000258e
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov edx, dword [ebp - 0x7c]
mov eax, 0xbe95a588
mov ecx, 0x1f49608
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000258e
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0xa0], 0x9bf5932d
jmp 0x1000258e
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0x2305e8a8
jmp 0x1000258e
mov dword [ebp - 0xa0], 0xbbc8a7f3
jmp 0x1000258e
mov ecx, dword [0x1009d740]
mov eax, dword [0x1009d73c]
mov edx, ecx
sub edx, 0xcd6020d0
sub edx, 1
add edx, 0xcd6020d0
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, 0x6845c673
mov ecx, 0xe9741a3a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000258e
mov eax, dword [ebp - 0x7c]
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 - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [0x1009d740]
mov ecx, dword [0x1009d73c]
mov edx, eax
add edx, 0x2a4126c5
sub edx, 1
sub edx, 0x2a4126c5
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, 0x6845c673
mov ecx, 0x63a30828
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000258e
mov dword [ebp - 0xa0], 0x8db0e5f8
jmp 0x1000258e
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x48]
sub ecx, 0x65fc8f48
add ecx, eax
add ecx, 0x65fc8f48
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
mov word [eax], 0
mov dword [ebp - 0xa0], 0x89008bae
jmp 0x1000258e
mov dword [ebp - 0xa0], 0xb75decce
jmp 0x1000258e
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
movzx eax, word [eax + 6]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xa0], 0xe05e84ff
jmp 0x1000258e
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x35], al
mov dword [ebp - 0xa0], 0xfdcc1077
jmp 0x1000258e
mov eax, dword [0x1009d740]
mov ecx, dword [0x1009d73c]
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, 0xa8af6e4
mov ecx, 0x4b693edf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000258e
mov ecx, dword [0x1009d740]
mov eax, dword [0x1009d73c]
mov edx, ecx
sub edx, 0xc148fea7
sub edx, 1
add edx, 0xc148fea7
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, 0xa8af6e4
mov ecx, 0xb96a2821
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000258e
mov dl, byte [ebp - 0x35]
mov eax, 0x2be97ae0
mov ecx, 0x7aa4e5b7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000258e
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
sub eax, 0xdff27327
add eax, 0x18
add eax, 0xdff27327
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov ax, word [eax + 0x14]
mov word [ebp - 0x2e], ax
mov dword [ebp - 0xa0], 0xea8d6d49
jmp 0x1000258e
mov ax, word [ebp - 0x2e]
movzx ecx, ax
mov eax, dword [ebp - 0x34]
add eax, 0x36929220
add eax, ecx
sub eax, 0x36929220
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xa0], 0xd62830dd
jmp 0x1000258e
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100183b0
call fcn.1000ebd0
add esp, 8
mov edx, eax
mov eax, 0x8c2b0ac1
mov ecx, 0x159ce907
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000258e
mov eax, dword [ebp - 0x64]
mov dword [eax], 0
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0xd5db7931
add edx, eax
add edx, 0xd5db7931
mov eax, dword [ebp - 0x64]
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 - 0x60]
mov byte [eax], cl
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xa0], 0xf0b4062d
jmp 0x1000258e
mov ecx, dword [0x1009d740]
mov eax, dword [0x1009d73c]
mov edx, ecx
sub edx, 0x5f7b16ad
sub edx, 1
add edx, 0x5f7b16ad
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, 0x1473c0f3
mov ecx, 0x780d53a8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000258e
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x68]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [0x1009d740]
mov ecx, dword [0x1009d73c]
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, 0x1473c0f3
mov ecx, 0x2d96fff0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000258e
mov dword [ebp - 0xa0], 0xae582cd
jmp 0x1000258e
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1000c9c0
add esp, 0xc
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x88]
mov esi, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0x58676292
add esi, eax
sub esi, 0x58676292
mov eax, dword [ebp - 0x64]
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 - 0x60]
mov byte [eax], cl
mov dword [ebp - 0xa0], 0x159ce907
jmp 0x1000258e
mov dword [ebp - 0xa0], 0x9071468c
jmp 0x1000258e
mov eax, dword [ebp - 0x6c]
mov ax, word [eax]
mov word [ebp - 0x16], ax
mov dword [ebp - 0xa0], 0xc77c3d42
jmp 0x1000258e
mov cx, word [ebp - 0x16]
xor eax, eax
sub ax, 1
sub cx, ax
mov eax, dword [ebp - 0x6c]
mov word [eax], cx
mov dword [ebp - 0xa0], 0x8e1175ed
jmp 0x1000258e
mov dword [ebp - 0xa0], 0xb75decce
jmp 0x1000258e
mov eax, dword [0x1009d740]
mov ecx, dword [0x1009d73c]
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, 0x662ce729
mov ecx, 0x14c416e5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000258e
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [0x1009d740]
mov ecx, dword [0x1009d73c]
mov edx, eax
sub edx, 0x579b4540
sub edx, 1
add edx, 0x579b4540
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, 0x662ce729
mov ecx, 0x7775b4e0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000258e
mov dword [ebp - 0xa0], 0x624065e1
jmp 0x1000258e
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xa0], 0xc4d8d99e
jmp 0x1000258e
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0xbbc8a7f3
jmp 0x1000258e
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.1000bc60
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0xa0], 0xb07e1add
jmp 0x1000258e
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa0], 0x70a31b3a
jmp 0x1000258e
mov eax, dword [ebp - 0x94]
mov edx, dword [eax]
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x5c]
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 - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x8c]
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 - 0x84]
mov dword [ebp - 0xa0], 0x78ac1d16
jmp 0x1000258e
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa0], 0xf259ec35
jmp 0x1000258e
mov eax, dword [ebp - 0x7c]
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 - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xa0], 0xe9741a3a
jmp 0x1000258e
mov dword [ebp - 0xa0], 0x4b693edf
jmp 0x1000258e
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0xa0], 0x780d53a8
jmp 0x1000258e
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa0], 0x14c416e5
jmp 0x100012e7