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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x90
mov eax, dword [ebp + 8]
mov dword [ebp - 0x98], eax
mov eax, dword [0x10083880]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x94], 0x93a1e18b
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x9c], eax
sub eax, 0x8db88be6
je 0x1000cb56
jmp 0x1000c085
mov eax, dword [ebp - 0x9c]
sub eax, 0x93a1e18b
je 0x1000c620
jmp 0x1000c09b
mov eax, dword [ebp - 0x9c]
sub eax, 0x981e39a6
je 0x1000ca27
jmp 0x1000c0b1
mov eax, dword [ebp - 0x9c]
sub eax, 0x98dcde71
je 0x1000c85a
jmp 0x1000c0c7
mov eax, dword [ebp - 0x9c]
sub eax, 0x9db857c1
je 0x1000d23d
jmp 0x1000c0dd
mov eax, dword [ebp - 0x9c]
sub eax, 0x9ec6e36d
je 0x1000d282
jmp 0x1000c0f3
mov eax, dword [ebp - 0x9c]
sub eax, 0xa016585f
je 0x1000d13b
jmp 0x1000c109
mov eax, dword [ebp - 0x9c]
sub eax, 0xa21a468f
je 0x1000c6e0
jmp 0x1000c11f
mov eax, dword [ebp - 0x9c]
sub eax, 0xa45b8628
je 0x1000cb29
jmp 0x1000c135
mov eax, dword [ebp - 0x9c]
sub eax, 0xa56f42e6
je 0x1000ced6
jmp 0x1000c14b
mov eax, dword [ebp - 0x9c]
sub eax, 0xac6ec951
je 0x1000d4f6
jmp 0x1000c161
mov eax, dword [ebp - 0x9c]
sub eax, 0xacb0561c
je 0x1000ce7f
jmp 0x1000c177
mov eax, dword [ebp - 0x9c]
sub eax, 0xb2969ec6
je 0x1000d327
jmp 0x1000c18d
mov eax, dword [ebp - 0x9c]
sub eax, 0xb8f13df0
je 0x1000ca95
jmp 0x1000c1a3
mov eax, dword [ebp - 0x9c]
sub eax, 0xbdb68069
je 0x1000ccb0
jmp 0x1000c1b9
mov eax, dword [ebp - 0x9c]
sub eax, 0xbef563c5
je 0x1000cd22
jmp 0x1000c1cf
mov eax, dword [ebp - 0x9c]
sub eax, 0xbf1cddc4
je 0x1000d22e
jmp 0x1000c1e5
mov eax, dword [ebp - 0x9c]
sub eax, 0xc2b63bb0
je 0x1000cfa6
jmp 0x1000c1fb
mov eax, dword [ebp - 0x9c]
sub eax, 0xc340bf91
je 0x1000c937
jmp 0x1000c211
mov eax, dword [ebp - 0x9c]
sub eax, 0xc78ce2ed
je 0x1000cd7f
jmp 0x1000c227
mov eax, dword [ebp - 0x9c]
sub eax, 0xca281b44
je 0x1000cb9f
jmp 0x1000c23d
mov eax, dword [ebp - 0x9c]
sub eax, 0xcb487458
je 0x1000c9bf
jmp 0x1000c253
mov eax, dword [ebp - 0x9c]
sub eax, 0xcfbacde2
je 0x1000d592
jmp 0x1000c269
mov eax, dword [ebp - 0x9c]
sub eax, 0xd01929ac
je 0x1000ce5b
jmp 0x1000c27f
mov eax, dword [ebp - 0x9c]
sub eax, 0xd420fa75
je 0x1000d571
jmp 0x1000c295
mov eax, dword [ebp - 0x9c]
sub eax, 0xd47db438
je 0x1000d5f5
jmp 0x1000c2ab
mov eax, dword [ebp - 0x9c]
sub eax, 0xd62fb0e6
je 0x1000d3c0
jmp 0x1000c2c1
mov eax, dword [ebp - 0x9c]
sub eax, 0xd76a7051
je 0x1000c946
jmp 0x1000c2d7
mov eax, dword [ebp - 0x9c]
sub eax, 0xe1a158a1
je 0x1000ca10
jmp 0x1000c2ed
mov eax, dword [ebp - 0x9c]
sub eax, 0xe530e7c4
je 0x1000ce6a
jmp 0x1000c303
mov eax, dword [ebp - 0x9c]
sub eax, 0xe5873eed
je 0x1000d547
jmp 0x1000c319
mov eax, dword [ebp - 0x9c]
sub eax, 0xe7110bea
je 0x1000c66a
jmp 0x1000c32f
mov eax, dword [ebp - 0x9c]
sub eax, 0xe8297ffe
je 0x1000d48a
jmp 0x1000c345
mov eax, dword [ebp - 0x9c]
sub eax, 0xedbda28c
je 0x1000cf97
jmp 0x1000c35b
mov eax, dword [ebp - 0x9c]
sub eax, 0xf47634fe
je 0x1000cca1
jmp 0x1000c371
mov eax, dword [ebp - 0x9c]
sub eax, 0xf622c028
je 0x1000c9b0
jmp 0x1000c387
mov eax, dword [ebp - 0x9c]
sub eax, 0xf74aeb53
je 0x1000d14a
jmp 0x1000c39d
mov eax, dword [ebp - 0x9c]
sub eax, 0xfbc19981
je 0x1000cb12
jmp 0x1000c3b3
mov eax, dword [ebp - 0x9c]
sub eax, 0x37c0a37
je 0x1000caf4
jmp 0x1000c3c9
mov eax, dword [ebp - 0x9c]
sub eax, 0x963f52e
je 0x1000d2b1
jmp 0x1000c3df
mov eax, dword [ebp - 0x9c]
sub eax, 0xf7d917a
je 0x1000d291
jmp 0x1000c3f5
mov eax, dword [ebp - 0x9c]
sub eax, 0xfd6729c
je 0x1000d478
jmp 0x1000c40b
mov eax, dword [ebp - 0x9c]
sub eax, 0x122ad187
je 0x1000d09e
jmp 0x1000c421
mov eax, dword [ebp - 0x9c]
sub eax, 0x1a9e6141
je 0x1000c7f4
jmp 0x1000c437
mov eax, dword [ebp - 0x9c]
sub eax, 0x1ab581ee
je 0x1000d1b8
jmp 0x1000c44d
mov eax, dword [ebp - 0x9c]
sub eax, 0x1e6d96cb
je 0x1000d55c
jmp 0x1000c463
mov eax, dword [ebp - 0x9c]
sub eax, 0x2ece37c2
je 0x1000c803
jmp 0x1000c479
mov eax, dword [ebp - 0x9c]
sub eax, 0x2fddd0ca
je 0x1000cb47
jmp 0x1000c48f
mov eax, dword [ebp - 0x9c]
sub eax, 0x2fe21dbb
je 0x1000cf27
jmp 0x1000c4a5
mov eax, dword [ebp - 0x9c]
sub eax, 0x30eb5e0d
je 0x1000cd9d
jmp 0x1000c4bb
mov eax, dword [ebp - 0x9c]
sub eax, 0x32c9cc4c
je 0x1000cde6
jmp 0x1000c4d1
mov eax, dword [ebp - 0x9c]
sub eax, 0x35648e47
je 0x1000d3cf
jmp 0x1000c4e7
mov eax, dword [ebp - 0x9c]
sub eax, 0x390b1610
je 0x1000cbde
jmp 0x1000c4fd
mov eax, dword [ebp - 0x9c]
sub eax, 0x3baa93dc
je 0x1000d604
jmp 0x1000c513
mov eax, dword [ebp - 0x9c]
sub eax, 0x3bdd7513
je 0x1000c7d6
jmp 0x1000c529
mov eax, dword [ebp - 0x9c]
sub eax, 0x451dcfa7
je 0x1000d535
jmp 0x1000c53f
mov eax, dword [ebp - 0x9c]
sub eax, 0x465b3633
je 0x1000c8d0
jmp 0x1000c555
mov eax, dword [ebp - 0x9c]
sub eax, 0x47f395ee
je 0x1000cbf5
jmp 0x1000c56b
mov eax, dword [ebp - 0x9c]
sub eax, 0x50f9ffde
je 0x1000d418
jmp 0x1000c581
mov eax, dword [ebp - 0x9c]
sub eax, 0x52d68924
je 0x1000d523
jmp 0x1000c597
mov eax, dword [ebp - 0x9c]
sub eax, 0x63283aa0
je 0x1000d469
jmp 0x1000c5ad
mov eax, dword [ebp - 0x9c]
sub eax, 0x6acece81
je 0x1000d269
jmp 0x1000c5c3
mov eax, dword [ebp - 0x9c]
sub eax, 0x73d4622a
je 0x1000d636
jmp 0x1000c5d9
mov eax, dword [ebp - 0x9c]
sub eax, 0x7c396adb
je 0x1000ccd1
jmp 0x1000c5ef
mov eax, dword [ebp - 0x9c]
sub eax, 0x7f89aacf
je 0x1000cc46
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
sub esp, 0x104
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
mov dword [ebp - 0x94], 0xe7110bea
jmp 0x1000d640
mov ecx, dword [0x10084d2c]
mov eax, dword [0x10084d28]
mov edx, ecx
sub edx, 0xec8b1cf4
sub edx, 1
add edx, 0xec8b1cf4
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, 0xe8297ffe
mov ecx, 0xa21a468f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov eax, dword [ebp - 0x98]
push eax
mov ecx, esp
mov dword [ebp - 0x68], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x64], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x60], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x8c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x1c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1001be10
add esp, 0xc
mov eax, dword [ebp - 0x8c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x55], al
mov ecx, dword [0x10084d2c]
mov eax, dword [0x10084d28]
mov edx, ecx
add edx, 0x67c03ba1
sub edx, 1
sub edx, 0x67c03ba1
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, 0xe8297ffe
mov ecx, 0x3bdd7513
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov dl, byte [ebp - 0x55]
mov eax, 0x1a9e6141
mov ecx, 0x2ece37c2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov dword [ebp - 0x94], 0xfd6729c
jmp 0x1000d640
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x90]
lea eax, [ebp - 0x1c]
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 ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x94], 0x98dcde71
jmp 0x1000d640
mov ecx, dword [0x10084d2c]
mov eax, dword [0x10084d28]
mov edx, ecx
sub edx, 0xb86d27da
sub edx, 1
add edx, 0xb86d27da
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, 0xac6ec951
mov ecx, 0x465b3633
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
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 [0x10084d2c]
mov ecx, dword [0x10084d28]
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, 0xac6ec951
mov ecx, 0xc340bf91
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov dword [ebp - 0x94], 0xd76a7051
jmp 0x1000d640
mov eax, dword [ebp - 0x80]
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 - 0x7c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x7c]
mov esi, 0xffffffff
mov eax, 0xcb487458
mov ecx, 0xf622c028
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov dword [ebp - 0x94], 0xfd6729c
jmp 0x1000d640
mov eax, dword [ebp - 0x7c]
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 - 0x78]
mov dword [eax], ecx
mov dword [ebp - 0x94], 0xe1a158a1
jmp 0x1000d640
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x94], 0x981e39a6
jmp 0x1000d640
mov ecx, dword [0x10084d2c]
mov eax, dword [0x10084d28]
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, 0x52d68924
mov ecx, 0xb8f13df0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov eax, dword [ebp - 0x4c]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x45], al
mov eax, dword [0x10084d2c]
mov ecx, dword [0x10084d28]
mov edx, eax
add edx, 0x4c16d2b6
sub edx, 1
sub edx, 0x4c16d2b6
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, 0x52d68924
mov ecx, 0x37c0a37
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov dl, byte [ebp - 0x45]
mov eax, 0xfbc19981
mov ecx, 0x8db88be6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x94], 0xa45b8628
jmp 0x1000d640
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0x2fddd0ca
jmp 0x1000d640
mov dword [ebp - 0x94], 0xfd6729c
jmp 0x1000d640
mov eax, dword [ebp - 0x78]
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 - 0x74]
mov dword [eax], ecx
mov dword [ebp - 0x94], 0xca281b44
jmp 0x1000d640
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
sub ecx, 0x99e5a8db
add ecx, eax
add ecx, 0x99e5a8db
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov dword [ebp - 0x94], 0x390b1610
jmp 0x1000d640
mov eax, dword [ebp - 0x68]
mov word [eax], 0
mov dword [ebp - 0x94], 0x47f395ee
jmp 0x1000d640
mov eax, dword [0x10084d2c]
mov ecx, dword [0x10084d28]
mov edx, eax
sub edx, 0xd94d94e1
sub edx, 1
add edx, 0xd94d94e1
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, 0x451dcfa7
mov ecx, 0x7f89aacf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov dword [ebp - 0x94], 0xbdb68069
jmp 0x1000d640
mov ax, word [ebp - 0x3e]
movzx eax, ax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x94], 0x7c396adb
jmp 0x1000d640
mov eax, dword [0x10084d2c]
mov ecx, dword [0x10084d28]
mov edx, eax
add edx, 0xb7d8796d
sub edx, 1
sub edx, 0xb7d8796d
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, 0xe5873eed
mov ecx, 0xbef563c5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov eax, dword [ebp - 0x38]
movzx ecx, word [eax + 6]
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x31], al
mov eax, dword [0x10084d2c]
mov ecx, dword [0x10084d28]
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, 0xe5873eed
mov ecx, 0xc78ce2ed
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov dl, byte [ebp - 0x31]
mov eax, 0xf7d917a
mov ecx, 0x30eb5e0d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov eax, dword [0x10084d2c]
mov ecx, dword [0x10084d28]
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, 0x1e6d96cb
mov ecx, 0x32c9cc4c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov eax, dword [ebp - 0x6c]
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 - 0x6c]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
sub eax, 0xf039e82e
add eax, ecx
add eax, 0xf039e82e
mov dword [ebp - 0x30], eax
mov eax, dword [0x10084d2c]
mov ecx, dword [0x10084d28]
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, 0x1e6d96cb
mov ecx, 0xd01929ac
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov dword [ebp - 0x94], 0xe530e7c4
jmp 0x1000d640
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x94], 0xacb0561c
jmp 0x1000d640
mov eax, dword [ebp - 0x68]
movzx eax, word [eax]
imul edx, eax, 0x28
mov ecx, dword [ebp - 0x2c]
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 - 0x64]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100299e1
call fcn.1001f770
add esp, 8
mov edx, eax
mov eax, 0xa56f42e6
mov ecx, 0xf74aeb53
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov eax, dword [0x10084d2c]
mov ecx, dword [0x10084d28]
mov edx, eax
sub edx, 0xb8531e4b
sub edx, 1
add edx, 0xb8531e4b
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, 0xd420fa75
mov ecx, 0x2fe21dbb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov eax, dword [ebp - 0x60]
mov dword [eax], 0
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [0x10084d2c]
mov ecx, dword [0x10084d28]
mov edx, eax
add edx, 0x5a14b956
sub edx, 1
sub edx, 0x5a14b956
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, 0xd420fa75
mov ecx, 0xedbda28c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov dword [ebp - 0x94], 0xc2b63bb0
jmp 0x1000d640
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x64]
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 - 0x60]
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 - 0x5c]
mov byte [eax], cl
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x79529b50
add edx, eax
add edx, 0x79529b50
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
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 - 0x64]
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.1001bf70
add esp, 0xc
mov dword [ebp - 0x94], 0x7fbf5f1d
jmp 0x1000d640
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x84]
mov esi, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, edi
sub esi, eax
mov eax, dword [ebp - 0x60]
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 - 0x5c]
mov byte [eax], cl
mov eax, dword [0x10084d2c]
mov ecx, dword [0x10084d28]
mov edx, eax
add edx, 0xddb434ed
sub edx, 1
sub edx, 0xddb434ed
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, 0xcfbacde2
mov ecx, 0xa016585f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov dword [ebp - 0x94], 0xf74aeb53
jmp 0x1000d640
mov ecx, dword [0x10084d2c]
mov eax, dword [0x10084d28]
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, 0xd47db438
mov ecx, 0x1ab581ee
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov ecx, dword [0x10084d2c]
mov eax, dword [0x10084d28]
mov edx, ecx
add edx, 0x6928a399
sub edx, 1
sub edx, 0x6928a399
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, 0xd47db438
mov ecx, 0xbf1cddc4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov dword [ebp - 0x94], 0x9db857c1
jmp 0x1000d640
mov eax, dword [ebp - 0x68]
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 - 0x1e], ax
mov dword [ebp - 0x94], 0x6acece81
jmp 0x1000d640
mov eax, dword [ebp - 0x68]
mov cx, word [ebp - 0x1e]
mov word [eax], cx
mov dword [ebp - 0x94], 0x9ec6e36d
jmp 0x1000d640
mov dword [ebp - 0x94], 0x47f395ee
jmp 0x1000d640
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0x963f52e
jmp 0x1000d640
mov ecx, dword [0x10084d2c]
mov eax, dword [0x10084d28]
mov edx, ecx
add edx, 0x5fd4b662
sub edx, 1
sub edx, 0x5fd4b662
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, 0x3baa93dc
mov ecx, 0xb2969ec6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x90]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x10084d2c]
mov eax, dword [0x10084d28]
mov edx, ecx
add edx, 0x9ad6e797
sub edx, 1
sub edx, 0x9ad6e797
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, 0x3baa93dc
mov ecx, 0xd62fb0e6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov dword [ebp - 0x94], 0x35648e47
jmp 0x1000d640
mov eax, dword [0x10084d2c]
mov ecx, dword [0x10084d28]
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, 0x73d4622a
mov ecx, 0x50f9ffde
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov eax, dword [0x10084d2c]
mov ecx, dword [0x10084d28]
mov edx, eax
add edx, 0x332b1b8b
sub edx, 1
sub edx, 0x332b1b8b
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, 0x73d4622a
mov ecx, 0x63283aa0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000d640
mov dword [ebp - 0x94], 0xfd6729c
jmp 0x1000d640
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1001b070
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x1c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1001be10
add esp, 0xc
mov eax, dword [ebp - 0x8c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x94], 0xa21a468f
jmp 0x1000d640
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
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 dword [ebp - 0x94], 0x465b3633
jmp 0x1000d640
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x94], 0xb8f13df0
jmp 0x1000d640
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x94], 0x7f89aacf
jmp 0x1000d640
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x94], 0xbef563c5
jmp 0x1000d640
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x94], 0x32c9cc4c
jmp 0x1000d640
mov eax, dword [ebp - 0x60]
mov dword [eax], 0
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x94], 0x2fe21dbb
jmp 0x1000d640
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x84]
mov esi, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
xor esi, esi
sub esi, edi
add eax, esi
xor esi, esi
sub esi, eax
mov eax, dword [ebp - 0x60]
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 - 0x5c]
mov byte [eax], cl
mov dword [ebp - 0x94], 0x122ad187
jmp 0x1000d640
mov dword [ebp - 0x94], 0x1ab581ee
jmp 0x1000d640
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x90]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0xb2969ec6
jmp 0x1000d640
mov dword [ebp - 0x94], 0x50f9ffde
jmp 0x1000c069