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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x98
mov eax, dword [ebp + 8]
mov dword [ebp - 0x9c], eax
mov eax, dword [0x1006a600]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x98], 0xc69696ee
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa0], eax
sub eax, 0x80f8369a
je 0x10001c01
jmp 0x10001114
mov eax, dword [ebp - 0xa0]
sub eax, 0x82f7a047
je 0x10001f8d
jmp 0x1000112a
mov eax, dword [ebp - 0xa0]
sub eax, 0x86067087
je 0x10001c86
jmp 0x10001140
mov eax, dword [ebp - 0xa0]
sub eax, 0x8b0640ec
je 0x10002112
jmp 0x10001156
mov eax, dword [ebp - 0xa0]
sub eax, 0x8b1c3546
je 0x10002141
jmp 0x1000116c
mov eax, dword [ebp - 0xa0]
sub eax, 0x8ecdd715
je 0x100016ed
jmp 0x10001182
mov eax, dword [ebp - 0xa0]
sub eax, 0x9554be70
je 0x10001641
jmp 0x10001198
mov eax, dword [ebp - 0xa0]
sub eax, 0xa317a5b6
je 0x10001a79
jmp 0x100011ae
mov eax, dword [ebp - 0xa0]
sub eax, 0xa6998925
je 0x10002364
jmp 0x100011c4
mov eax, dword [ebp - 0xa0]
sub eax, 0xa7d02b2e
je 0x10002327
jmp 0x100011da
mov eax, dword [ebp - 0xa0]
sub eax, 0xab9a7f5c
je 0x10001d51
jmp 0x100011f0
mov eax, dword [ebp - 0xa0]
sub eax, 0xac7fa5aa
je 0x100020c3
jmp 0x10001206
mov eax, dword [ebp - 0xa0]
sub eax, 0xb87f5042
je 0x1000204d
jmp 0x1000121c
mov eax, dword [ebp - 0xa0]
sub eax, 0xba6d676c
je 0x100020d2
jmp 0x10001232
mov eax, dword [ebp - 0xa0]
sub eax, 0xbb28488f
je 0x100018ab
jmp 0x10001248
mov eax, dword [ebp - 0xa0]
sub eax, 0xc07ddf71
je 0x10001e47
jmp 0x1000125e
mov eax, dword [ebp - 0xa0]
sub eax, 0xc256788c
je 0x100022d6
jmp 0x10001274
mov eax, dword [ebp - 0xa0]
sub eax, 0xc2f9e26b
je 0x10002394
jmp 0x1000128a
mov eax, dword [ebp - 0xa0]
sub eax, 0xc38a5fc8
je 0x10002259
jmp 0x100012a0
mov eax, dword [ebp - 0xa0]
sub eax, 0xc69696ee
je 0x100015e9
jmp 0x100012b6
mov eax, dword [ebp - 0xa0]
sub eax, 0xc7d1803e
je 0x10002376
jmp 0x100012cc
mov eax, dword [ebp - 0xa0]
sub eax, 0xd965e734
je 0x100017ed
jmp 0x100012e2
mov eax, dword [ebp - 0xa0]
sub eax, 0xdc8ed17b
je 0x10002161
jmp 0x100012f8
mov eax, dword [ebp - 0xa0]
sub eax, 0xe2c9967c
je 0x100023b2
jmp 0x1000130e
mov eax, dword [ebp - 0xa0]
sub eax, 0xe5dd9413
je 0x100021cf
jmp 0x10001324
mov eax, dword [ebp - 0xa0]
sub eax, 0xea6e951f
je 0x1000187a
jmp 0x1000133a
mov eax, dword [ebp - 0xa0]
sub eax, 0xee65b3ac
je 0x10001de1
jmp 0x10001350
mov eax, dword [ebp - 0xa0]
sub eax, 0xf1e89385
je 0x1000198f
jmp 0x10001366
mov eax, dword [ebp - 0xa0]
sub eax, 0xf3927baa
je 0x10001d9c
jmp 0x1000137c
mov eax, dword [ebp - 0xa0]
sub eax, 0xf4338593
je 0x1000189c
jmp 0x10001392
mov eax, dword [ebp - 0xa0]
sub eax, 0xf743134f
je 0x10001ce6
jmp 0x100013a8
mov eax, dword [ebp - 0xa0]
sub eax, 0xfab63351
je 0x100017a4
jmp 0x100013be
mov eax, dword [ebp - 0xa0]
sub eax, 0x651b5f6
je 0x10001fdf
jmp 0x100013d4
mov eax, dword [ebp - 0xa0]
sub eax, 0xb24aebe
je 0x10001cd7
jmp 0x100013ea
mov eax, dword [ebp - 0xa0]
sub eax, 0xb258a71
je 0x10001d3a
jmp 0x10001400
mov eax, dword [ebp - 0xa0]
sub eax, 0x15724f85
je 0x100023a3
jmp 0x10001416
mov eax, dword [ebp - 0xa0]
sub eax, 0x1bcc6e33
je 0x10001af7
jmp 0x1000142c
mov eax, dword [ebp - 0xa0]
sub eax, 0x27d743c6
je 0x10001b7c
jmp 0x10001442
mov eax, dword [ebp - 0xa0]
sub eax, 0x2886d01a
je 0x10002268
jmp 0x10001458
mov eax, dword [ebp - 0xa0]
sub eax, 0x2c1cc27a
je 0x100020eb
jmp 0x1000146e
mov eax, dword [ebp - 0xa0]
sub eax, 0x37f04e6e
je 0x100019ed
jmp 0x10001484
mov eax, dword [ebp - 0xa0]
sub eax, 0x3b2333ce
je 0x10001a0b
jmp 0x1000149a
mov eax, dword [ebp - 0xa0]
sub eax, 0x3d572f6c
je 0x10001e87
jmp 0x100014b0
mov eax, dword [ebp - 0xa0]
sub eax, 0x3ddade41
je 0x1000199e
jmp 0x100014c6
mov eax, dword [ebp - 0xa0]
sub eax, 0x47d82050
je 0x10002352
jmp 0x100014dc
mov eax, dword [ebp - 0xa0]
sub eax, 0x49b5c6e8
je 0x10001d83
jmp 0x100014f2
mov eax, dword [ebp - 0xa0]
sub eax, 0x5052e7b4
je 0x1000186b
jmp 0x10001508
mov eax, dword [ebp - 0xa0]
sub eax, 0x589703f2
je 0x10001b06
jmp 0x1000151e
mov eax, dword [ebp - 0xa0]
sub eax, 0x5f4709b4
je 0x10002338
jmp 0x10001534
mov eax, dword [ebp - 0xa0]
sub eax, 0x64011643
je 0x10001dc1
jmp 0x1000154a
mov eax, dword [ebp - 0xa0]
sub eax, 0x699684ef
je 0x10001c10
jmp 0x10001560
mov eax, dword [ebp - 0xa0]
sub eax, 0x6e260ba2
je 0x100023d5
jmp 0x10001576
mov eax, dword [ebp - 0xa0]
sub eax, 0x71622efa
je 0x10001919
jmp 0x1000158c
mov eax, dword [ebp - 0xa0]
sub eax, 0x7192291c
je 0x10002121
jmp 0x100015a2
mov eax, dword [ebp - 0xa0]
sub eax, 0x78d66495
je 0x10001f1e
jmp 0x100015b8
mov eax, dword [ebp - 0xa0]
sub eax, 0x7d45c3f5
je 0x100016de
jmp 0x100015ce
mov eax, dword [ebp - 0xa0]
sub eax, 0x7e6f91ff
je 0x10001e10
jmp 0x100015e4
jmp 0x100023df
push eax
mov eax, esp
mov dword [ebp - 0x90], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x8c], eax
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
mov dword [ebp - 0x98], 0x9554be70
jmp 0x100023df
mov eax, dword [ebp - 0x9c]
push eax
mov ecx, esp
mov dword [ebp - 0x6c], ecx
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 - 0x94], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1000bf30
add esp, 0xc
mov eax, dword [ebp - 0x94]
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 edx, dword [ebp - 0x88]
mov eax, 0x7d45c3f5
mov ecx, 0x8ecdd715
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x100023df
mov dword [ebp - 0x98], 0x2886d01a
jmp 0x100023df
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
mov eax, dword [ebp - 0x8c]
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 - 0x8c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x88]
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 - 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 dword [ebp - 0x58], eax
mov dword [ebp - 0x98], 0xfab63351
jmp 0x100023df
mov eax, dword [0x1006b940]
mov ecx, dword [0x1006b93c]
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, 0x5f4709b4
mov ecx, 0xd965e734
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x100023df
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov ecx, dword [0x1006b940]
mov eax, dword [0x1006b93c]
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, 0x5f4709b4
mov ecx, 0x5052e7b4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x100023df
mov dword [ebp - 0x98], 0xea6e951f
jmp 0x100023df
mov edx, dword [ebp - 0x54]
mov esi, 0xffffffff
mov eax, 0xbb28488f
mov ecx, 0xf4338593
cmp edx, esi
cmove eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x100023df
mov dword [ebp - 0x98], 0x2886d01a
jmp 0x100023df
mov ecx, dword [0x1006b940]
mov eax, dword [0x1006b93c]
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, 0x47d82050
mov ecx, 0x71622efa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x100023df
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov ecx, dword [0x1006b940]
mov eax, dword [0x1006b93c]
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, 0x47d82050
mov ecx, 0xf1e89385
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x100023df
mov dword [ebp - 0x98], 0x3ddade41
jmp 0x100023df
mov eax, dword [ebp - 0x50]
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 - 0x98], 0x37f04e6e
jmp 0x100023df
mov edx, dword [ebp - 0x78]
mov eax, 0x3b2333ce
mov ecx, 0xf743134f
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x100023df
mov ecx, dword [0x1006b940]
mov eax, dword [0x1006b93c]
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, 0xa6998925
mov ecx, 0xa317a5b6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x100023df
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov ecx, dword [0x1006b940]
mov eax, dword [0x1006b93c]
mov edx, ecx
add edx, 0xd1e38ded
sub edx, 1
sub edx, 0xd1e38ded
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, 0xa6998925
mov ecx, 0x1bcc6e33
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x100023df
mov dword [ebp - 0x98], 0x589703f2
jmp 0x100023df
mov ecx, dword [0x1006b940]
mov eax, dword [0x1006b93c]
mov edx, ecx
add edx, 0x708e1a2b
sub edx, 1
sub edx, 0x708e1a2b
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, 0xc7d1803e
mov ecx, 0x27d743c6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x100023df
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x1006b940]
mov eax, dword [0x1006b93c]
mov edx, ecx
add edx, 0x4b6282d4
sub edx, 1
sub edx, 0x4b6282d4
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, 0xc7d1803e
mov ecx, 0x80f8369a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x100023df
mov dword [ebp - 0x98], 0x699684ef
jmp 0x100023df
mov ecx, dword [0x1006b940]
mov eax, dword [0x1006b93c]
mov edx, ecx
add edx, 0xf5337cbd
sub edx, 1
sub edx, 0xf5337cbd
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, 0xc2f9e26b
mov ecx, 0x86067087
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x100023df
mov eax, dword [0x1006b940]
mov ecx, dword [0x1006b93c]
mov edx, eax
sub edx, 0x9d5b20ec
sub edx, 1
add edx, 0x9d5b20ec
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, 0xc2f9e26b
mov ecx, 0xb24aebe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x100023df
mov dword [ebp - 0x98], 0x2886d01a
jmp 0x100023df
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 eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x98], 0xb258a71
jmp 0x100023df
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
mov dword [ebp - 0x98], 0xab9a7f5c
jmp 0x100023df
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov word [eax], 0
mov dword [ebp - 0x98], 0x49b5c6e8
jmp 0x100023df
mov eax, dword [ebp - 0x68]
mov ax, word [eax]
mov word [ebp - 0x42], ax
mov dword [ebp - 0x98], 0xf3927baa
jmp 0x100023df
mov ax, word [ebp - 0x42]
movzx eax, ax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
movzx eax, word [eax + 6]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x98], 0x64011643
jmp 0x100023df
mov edx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
mov eax, 0x7192291c
mov ecx, 0xee65b3ac
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x100023df
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
add eax, 0x9385faf8
add eax, 0x18
sub eax, 0x9385faf8
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x98], 0x7e6f91ff
jmp 0x100023df
mov eax, dword [ebp - 0x34]
movzx ecx, word [eax + 0x10]
mov eax, dword [ebp - 0x38]
sub eax, 0x3135695c
add eax, ecx
add eax, 0x3135695c
mov ecx, dword [ebp - 0x68]
movzx ecx, word [ecx]
imul edx, ecx, 0x28
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x98], 0xc07ddf71
jmp 0x100023df
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x30]
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], 0x100183b0
call fcn.1000e2a0
add esp, 8
mov edx, eax
mov eax, 0x3d572f6c
mov ecx, 0x651b5f6
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x100023df
mov eax, dword [ebp - 0x60]
mov dword [eax], 0
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x60]
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 eax, dword [eax]
mov ecx, dword [ebp - 0x64]
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 - 0x2c], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x98], 0x78d66495
jmp 0x100023df
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x28]
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 eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x2c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1000c090
add esp, 0xc
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x98], 0x82f7a047
jmp 0x100023df
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
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 - 0x60]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
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 - 0x98], 0x651b5f6
jmp 0x100023df
mov ecx, dword [0x1006b940]
mov eax, dword [0x1006b93c]
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, 0x15724f85
mov ecx, 0xb87f5042
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x100023df
mov ecx, dword [0x1006b940]
mov eax, dword [0x1006b93c]
mov edx, ecx
sub edx, 0xf61ba36b
sub edx, 1
add edx, 0xf61ba36b
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, 0x15724f85
mov ecx, 0xac7fa5aa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x100023df
mov dword [ebp - 0x98], 0xba6d676c
jmp 0x100023df
mov eax, dword [ebp - 0x68]
mov ax, word [eax]
mov word [ebp - 0xe], ax
mov dword [ebp - 0x98], 0x2c1cc27a
jmp 0x100023df
mov cx, word [ebp - 0xe]
sub cx, 0x162b
add cx, 1
add cx, 0x162b
mov eax, dword [ebp - 0x68]
mov word [eax], cx
mov dword [ebp - 0x98], 0x8b0640ec
jmp 0x100023df
mov dword [ebp - 0x98], 0x49b5c6e8
jmp 0x100023df
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 - 0x98], 0x8b1c3546
jmp 0x100023df
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0xdc8ed17b
jmp 0x100023df
mov ecx, dword [0x1006b940]
mov eax, dword [0x1006b93c]
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, 0xe2c9967c
mov ecx, 0xe5dd9413
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x100023df
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x1006b940]
mov eax, dword [0x1006b93c]
mov edx, ecx
add edx, 0xa38ef985
sub edx, 1
sub edx, 0xa38ef985
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, 0xe2c9967c
mov ecx, 0xc38a5fc8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x100023df
mov dword [ebp - 0x98], 0x2886d01a
jmp 0x100023df
mov ecx, dword [0x1006b940]
mov eax, dword [0x1006b93c]
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, 0x6e260ba2
mov ecx, 0xc256788c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x100023df
mov eax, dword [0x1006b940]
mov ecx, dword [0x1006b93c]
mov edx, eax
add edx, 0xfbe9f6a9
sub edx, 1
sub edx, 0xfbe9f6a9
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, 0x6e260ba2
mov ecx, 0xa7d02b2e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x100023df
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.1000b330
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x98], 0xd965e734
jmp 0x100023df
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x98], 0x71622efa
jmp 0x100023df
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x98], 0xa317a5b6
jmp 0x100023df
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0x27d743c6
jmp 0x100023df
mov dword [ebp - 0x98], 0x86067087
jmp 0x100023df
mov dword [ebp - 0x98], 0xb87f5042
jmp 0x100023df
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0xe5dd9413
jmp 0x100023df
mov dword [ebp - 0x98], 0xc256788c
jmp 0x100010f8