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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x90
mov eax, dword [ebp + 8]
mov dword [ebp - 0x94], eax
mov eax, dword [0x1008f080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x100906cc]
mov eax, dword [0x100906c8]
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 - 0x8a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x89], al
mov dword [ebp - 0x90], 0x32db8a3d
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x98], eax
sub eax, 0x802c5d81
je 0x1000fc51
jmp 0x1000ecfb
mov eax, dword [ebp - 0x98]
sub eax, 0x807d50f3
je 0x1000fd42
jmp 0x1000ed11
mov eax, dword [ebp - 0x98]
sub eax, 0x895e4d93
je 0x1000f528
jmp 0x1000ed27
mov eax, dword [ebp - 0x98]
sub eax, 0x8ac7b63b
je 0x1000f8ff
jmp 0x1000ed3d
mov eax, dword [ebp - 0x98]
sub eax, 0x8ddb2c20
je 0x1000fcbb
jmp 0x1000ed53
mov eax, dword [ebp - 0x98]
sub eax, 0x9378deac
je 0x1000fe62
jmp 0x1000ed69
mov eax, dword [ebp - 0x98]
sub eax, 0x98e3c992
je 0x100100f1
jmp 0x1000ed7f
mov eax, dword [ebp - 0x98]
sub eax, 0x9c2a4dcf
je 0x1000fbce
jmp 0x1000ed95
mov eax, dword [ebp - 0x98]
sub eax, 0x9cd929eb
je 0x1000fee2
jmp 0x1000edab
mov eax, dword [ebp - 0x98]
sub eax, 0x9da8eb41
je 0x1000f78f
jmp 0x1000edc1
mov eax, dword [ebp - 0x98]
sub eax, 0x9e5ad28c
je 0x1000f2db
jmp 0x1000edd7
mov eax, dword [ebp - 0x98]
sub eax, 0x9e85c42c
je 0x10010162
jmp 0x1000eded
mov eax, dword [ebp - 0x98]
sub eax, 0xa443141a
je 0x1000fb58
jmp 0x1000ee03
mov eax, dword [ebp - 0x98]
sub eax, 0xa97ced2f
je 0x10010209
jmp 0x1000ee19
mov eax, dword [ebp - 0x98]
sub eax, 0xaebe2eb0
je 0x1000fa8a
jmp 0x1000ee2f
mov eax, dword [ebp - 0x98]
sub eax, 0xb13aadc2
je 0x10010039
jmp 0x1000ee45
mov eax, dword [ebp - 0x98]
sub eax, 0xb62bc1ef
je 0x1000fd22
jmp 0x1000ee5b
mov eax, dword [ebp - 0x98]
sub eax, 0xb6487bb3
je 0x1000f5fa
jmp 0x1000ee71
mov eax, dword [ebp - 0x98]
sub eax, 0xc0f254d0
je 0x100101f4
jmp 0x1000ee87
mov eax, dword [ebp - 0x98]
sub eax, 0xc45a7689
je 0x1000f38c
jmp 0x1000ee9d
mov eax, dword [ebp - 0x98]
sub eax, 0xc815319a
je 0x1000fb00
jmp 0x1000eeb3
mov eax, dword [ebp - 0x98]
sub eax, 0xca770360
je 0x1000fb49
jmp 0x1000eec9
mov eax, dword [ebp - 0x98]
sub eax, 0xcc41ff6d
je 0x1000ffc3
jmp 0x1000eedf
mov eax, dword [ebp - 0x98]
sub eax, 0xd1197724
je 0x100101b5
jmp 0x1000eef5
mov eax, dword [ebp - 0x98]
sub eax, 0xd56a69b2
je 0x1000feb1
jmp 0x1000ef0b
mov eax, dword [ebp - 0x98]
sub eax, 0xdfe2fe5c
je 0x1000fa02
jmp 0x1000ef21
mov eax, dword [ebp - 0x98]
sub eax, 0xe2d8f367
je 0x10010099
jmp 0x1000ef37
mov eax, dword [ebp - 0x98]
sub eax, 0xe433eb7c
je 0x1000f49c
jmp 0x1000ef4d
mov eax, dword [ebp - 0x98]
sub eax, 0xec1a4366
je 0x1000f609
jmp 0x1000ef63
mov eax, dword [ebp - 0x98]
sub eax, 0xece83458
je 0x1000f813
jmp 0x1000ef79
mov eax, dword [ebp - 0x98]
sub eax, 0xf00c2aaa
je 0x1000f39b
jmp 0x1000ef8f
mov eax, dword [ebp - 0x98]
sub eax, 0xf0c78922
je 0x1000f6de
jmp 0x1000efa5
mov eax, dword [ebp - 0x98]
sub eax, 0xf312f242
je 0x1000fc38
jmp 0x1000efbb
mov eax, dword [ebp - 0x98]
sub eax, 0x5f16530
je 0x100100a8
jmp 0x1000efd1
mov eax, dword [ebp - 0x98]
sub eax, 0xbfd24c8
je 0x1000f72f
jmp 0x1000efe7
mov eax, dword [ebp - 0x98]
sub eax, 0x10fd712c
je 0x1000f571
jmp 0x1000effd
mov eax, dword [ebp - 0x98]
sub eax, 0x138b8d8c
je 0x1000f90e
jmp 0x1000f013
mov eax, dword [ebp - 0x98]
sub eax, 0x16afbf16
je 0x1000fea2
jmp 0x1000f029
mov eax, dword [ebp - 0x98]
sub eax, 0x17df1cdc
je 0x1000f6c0
jmp 0x1000f03f
mov eax, dword [ebp - 0x98]
sub eax, 0x1ba9bd95
je 0x1000f9f3
jmp 0x1000f055
mov eax, dword [ebp - 0x98]
sub eax, 0x20ea6a96
je 0x1000f4fb
jmp 0x1000f06b
mov eax, dword [ebp - 0x98]
sub eax, 0x22197581
je 0x1000f7a6
jmp 0x1000f081
mov eax, dword [ebp - 0x98]
sub eax, 0x23dc7c72
je 0x10010142
jmp 0x1000f097
mov eax, dword [ebp - 0x98]
sub eax, 0x2515039a
je 0x1000f95f
jmp 0x1000f0ad
mov eax, dword [ebp - 0x98]
sub eax, 0x258c9edf
je 0x1000f426
jmp 0x1000f0c3
mov eax, dword [ebp - 0x98]
sub eax, 0x324e726b
je 0x1000fc77
jmp 0x1000f0d9
mov eax, dword [ebp - 0x98]
sub eax, 0x32db8a3d
je 0x1000f2ac
jmp 0x1000f0ef
mov eax, dword [ebp - 0x98]
sub eax, 0x358b1722
je 0x1000fc29
jmp 0x1000f105
mov eax, dword [ebp - 0x98]
sub eax, 0x35dfd674
je 0x1000f7f5
jmp 0x1000f11b
mov eax, dword [ebp - 0x98]
sub eax, 0x38543818
je 0x1000fe39
jmp 0x1000f131
mov eax, dword [ebp - 0x98]
sub eax, 0x3ac4f14b
je 0x1000fe53
jmp 0x1000f147
mov eax, dword [ebp - 0x98]
sub eax, 0x43da483c
je 0x1000ff58
jmp 0x1000f15d
mov eax, dword [ebp - 0x98]
sub eax, 0x4460d09b
je 0x1000f9e4
jmp 0x1000f173
mov eax, dword [ebp - 0x98]
sub eax, 0x4681bda8
je 0x10010194
jmp 0x1000f189
mov eax, dword [ebp - 0x98]
sub eax, 0x5059b2d9
je 0x1000fa19
jmp 0x1000f19f
mov eax, dword [ebp - 0x98]
sub eax, 0x521c9e2b
je 0x1000fe7b
jmp 0x1000f1b5
mov eax, dword [ebp - 0x98]
sub eax, 0x54606275
je 0x1000f519
jmp 0x1000f1cb
mov eax, dword [ebp - 0x98]
sub eax, 0x57dca015
je 0x1000f881
jmp 0x1000f1e1
mov eax, dword [ebp - 0x98]
sub eax, 0x60c55257
je 0x100101a3
jmp 0x1000f1f7
mov eax, dword [ebp - 0x98]
sub eax, 0x61fa73d8
je 0x1001017c
jmp 0x1000f20d
mov eax, dword [ebp - 0x98]
sub eax, 0x6397cbbf
je 0x10010227
jmp 0x1000f223
mov eax, dword [ebp - 0x98]
sub eax, 0x669b472f
je 0x10010153
jmp 0x1000f239
mov eax, dword [ebp - 0x98]
sub eax, 0x69deec97
je 0x1000fce2
jmp 0x1000f24f
mov eax, dword [ebp - 0x98]
sub eax, 0x6dbb93ba
je 0x1000ffb4
jmp 0x1000f265
mov eax, dword [ebp - 0x98]
sub eax, 0x6fe330b6
je 0x100101e2
mov al, byte [ebp - 0x8a]
mov cl, byte [ebp - 0x89]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x669b472f
mov ecx, 0x9e5ad28c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
sub esp, 0xc
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
sub esp, 0x104
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
mov ecx, dword [0x100906cc]
mov eax, dword [0x100906c8]
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, 0x669b472f
mov ecx, 0xc45a7689
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov dword [ebp - 0x90], 0xf00c2aaa
jmp 0x10010231
mov ecx, dword [ebp - 0x94]
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
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
push eax
mov eax, esp
mov dword [ebp - 0x54], eax
push eax
mov eax, esp
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1002d840
add esp, 0xc
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x90], 0x258c9edf
jmp 0x10010231
mov ecx, dword [0x100906cc]
mov eax, dword [0x100906c8]
mov edx, ecx
add edx, 0xabdbb790
sub edx, 1
sub edx, 0xabdbb790
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, 0x9e85c42c
mov ecx, 0xe433eb7c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x45], al
mov eax, dword [0x100906cc]
mov ecx, dword [0x100906c8]
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, 0x9e85c42c
mov ecx, 0x20ea6a96
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov dl, byte [ebp - 0x45]
mov eax, 0x54606275
mov ecx, 0x895e4d93
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov dword [ebp - 0x90], 0x5f16530
jmp 0x10010231
mov eax, dword [0x100906cc]
mov ecx, dword [0x100906c8]
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, 0x61fa73d8
mov ecx, 0x10fd712c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov ecx, dword [0x100906cc]
mov eax, dword [0x100906c8]
mov edx, ecx
add edx, 0x24fec80b
sub edx, 1
sub edx, 0x24fec80b
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, 0x61fa73d8
mov ecx, 0xb6487bb3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov dword [ebp - 0x90], 0xec1a4366
jmp 0x10010231
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
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 - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x7c]
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 - 0x74]
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 - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x39], al
mov dword [ebp - 0x90], 0x17df1cdc
jmp 0x10010231
mov dl, byte [ebp - 0x39]
mov eax, 0x9da8eb41
mov ecx, 0xf0c78922
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov eax, dword [0x100906cc]
mov ecx, dword [0x100906c8]
mov edx, eax
add edx, 0x9948559a
sub edx, 1
sub edx, 0x9948559a
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, 0x4681bda8
mov ecx, 0xbfd24c8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov eax, dword [0x100906cc]
mov ecx, dword [0x100906c8]
mov edx, eax
sub edx, 0x8a51d75f
sub edx, 1
add edx, 0x8a51d75f
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, 0x4681bda8
mov ecx, 0x73cbd592
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x90], 0x22197581
jmp 0x10010231
mov eax, dword [ebp - 0x38]
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 - 0x6c]
mov dword [eax], ecx
mov dword [ebp - 0x90], 0x35dfd674
jmp 0x10010231
mov edx, dword [ebp - 0x6c]
mov eax, 0xece83458
mov ecx, 0xdfe2fe5c
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov ecx, dword [0x100906cc]
mov eax, dword [0x100906c8]
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, 0x60c55257
mov ecx, 0x57dca015
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov ecx, dword [0x100906cc]
mov eax, dword [0x100906c8]
mov edx, ecx
sub edx, 0xf09ceed
sub edx, 1
add edx, 0xf09ceed
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, 0x60c55257
mov ecx, 0x8ac7b63b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov dword [ebp - 0x90], 0x138b8d8c
jmp 0x10010231
mov eax, dword [0x100906cc]
mov ecx, dword [0x100906c8]
mov edx, eax
sub edx, 0x5f1a07b6
sub edx, 1
add edx, 0x5f1a07b6
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, 0xd1197724
mov ecx, 0x2515039a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov eax, dword [ebp - 0x34]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x100906cc]
mov eax, dword [0x100906c8]
mov edx, ecx
sub edx, 0xab4584ad
sub edx, 1
add edx, 0xab4584ad
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, 0xd1197724
mov ecx, 0x4460d09b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov dword [ebp - 0x90], 0x1ba9bd95
jmp 0x10010231
mov dword [ebp - 0x90], 0x5f16530
jmp 0x10010231
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x90], 0x5059b2d9
jmp 0x10010231
mov eax, dword [ebp - 0x30]
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 - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x5c]
mov word [eax], 0
mov dword [ebp - 0x90], 0xaebe2eb0
jmp 0x10010231
mov ecx, dword [0x100906cc]
mov eax, dword [0x100906c8]
mov edx, ecx
sub edx, 0x3e3e2063
sub edx, 1
add edx, 0x3e3e2063
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, 0x7d262094
mov ecx, 0xc815319a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov eax, dword [0x100906cc]
mov ecx, dword [0x100906c8]
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, 0x7d262094
mov ecx, 0xca770360
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov dword [ebp - 0x90], 0xa443141a
jmp 0x10010231
mov ecx, dword [0x100906cc]
mov eax, dword [0x100906c8]
mov edx, ecx
sub edx, 0x86057af6
sub edx, 1
add edx, 0x86057af6
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, 0x6fe330b6
mov ecx, 0x9c2a4dcf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov eax, dword [ebp - 0x5c]
mov ax, word [eax]
mov word [ebp - 0x2a], ax
mov eax, dword [0x100906cc]
mov ecx, dword [0x100906c8]
mov edx, eax
add edx, 0x41c175e9
sub edx, 1
sub edx, 0x41c175e9
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, 0x6fe330b6
mov ecx, 0x358b1722
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov dword [ebp - 0x90], 0xf312f242
jmp 0x10010231
mov ax, word [ebp - 0x2a]
movzx eax, ax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x90], 0x802c5d81
jmp 0x10010231
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
movzx esi, word [eax + 6]
mov edx, dword [ebp - 0x28]
mov eax, 0xd56a69b2
mov ecx, 0x324e726b
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov eax, dword [ebp - 0x60]
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 - 0x60]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
sub eax, 0xfe8c8cbf
add eax, ecx
add eax, 0xfe8c8cbf
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x5c]
movzx eax, word [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x90], 0x8ddb2c20
jmp 0x10010231
mov eax, dword [ebp - 0x20]
imul ecx, eax, 0x28
mov eax, dword [ebp - 0x24]
add eax, 0xca353b40
add eax, ecx
sub eax, 0xca353b40
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x90], 0x69deec97
jmp 0x10010231
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x1003bee5
call fcn.100311b0
add esp, 8
mov edx, eax
mov eax, 0xb62bc1ef
mov ecx, 0x3ac4f14b
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov eax, dword [ebp - 0x54]
mov dword [eax], 0
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x90], 0x807d50f3
jmp 0x10010231
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, edx
xor edx, edx
sub edx, esi
add eax, edx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x54]
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 - 0x50]
mov byte [eax], cl
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0xe2005f68
add edx, eax
sub edx, 0xe2005f68
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub ecx, eax
mov eax, dword [ebp - 0x58]
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.1002d9a0
add esp, 0xc
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x78]
mov esi, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0xec90bbf0
add esi, eax
sub esi, 0xec90bbf0
mov eax, dword [ebp - 0x54]
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 al
and al, 1
mov byte [ebp - 0x13], al
mov dword [ebp - 0x90], 0x38543818
jmp 0x10010231
mov cl, byte [ebp - 0x13]
and cl, 1
mov eax, dword [ebp - 0x50]
mov byte [eax], cl
mov dword [ebp - 0x90], 0x3ac4f14b
jmp 0x10010231
mov dword [ebp - 0x90], 0x9378deac
jmp 0x10010231
mov eax, dword [ebp - 0x5c]
mov ax, word [eax]
mov word [ebp - 0x12], ax
mov dword [ebp - 0x90], 0x521c9e2b
jmp 0x10010231
mov cx, word [ebp - 0x12]
sub cx, 0x5a07
add cx, 1
add cx, 0x5a07
mov eax, dword [ebp - 0x5c]
mov word [eax], cx
mov dword [ebp - 0x90], 0x16afbf16
jmp 0x10010231
mov dword [ebp - 0x90], 0xa443141a
jmp 0x10010231
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 - 0x6c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x90], 0x9cd929eb
jmp 0x10010231
mov ecx, dword [0x100906cc]
mov eax, dword [0x100906c8]
mov edx, ecx
add edx, 0x29f29ba
sub edx, 1
sub edx, 0x29f29ba
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, 0xc0f254d0
mov ecx, 0x43da483c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov eax, dword [0x100906cc]
mov ecx, dword [0x100906c8]
mov edx, eax
sub edx, 0x49460445
sub edx, 1
add edx, 0x49460445
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, 0xc0f254d0
mov ecx, 0x6dbb93ba
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov dword [ebp - 0x90], 0xcc41ff6d
jmp 0x10010231
mov ecx, dword [0x100906cc]
mov eax, dword [0x100906c8]
mov edx, ecx
sub edx, 0x8e53659a
sub edx, 1
add edx, 0x8e53659a
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, 0xa97ced2f
mov ecx, 0xb13aadc2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x100906cc]
mov ecx, dword [0x100906c8]
mov edx, eax
add edx, 0xd27ea802
sub edx, 1
sub edx, 0xd27ea802
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, 0xa97ced2f
mov ecx, 0xe2d8f367
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov dword [ebp - 0x90], 0x5f16530
jmp 0x10010231
mov eax, dword [0x100906cc]
mov ecx, dword [0x100906c8]
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, 0x6397cbbf
mov ecx, 0x98e3c992
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov eax, dword [0x100906cc]
mov ecx, dword [0x100906c8]
mov edx, eax
sub edx, 0xc88eb3bb
sub edx, 1
add edx, 0xc88eb3bb
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, 0x6397cbbf
mov ecx, 0x23dc7c72
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10010231
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.1002ca30
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x90], 0x9e5ad28c
jmp 0x10010231
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x90], 0xe433eb7c
jmp 0x10010231
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x90], 0x10fd712c
jmp 0x10010231
mov dword [ebp - 0x90], 0xbfd24c8
jmp 0x10010231
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x90], 0x57dca015
jmp 0x10010231
mov eax, dword [ebp - 0x34]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x90], 0x2515039a
jmp 0x10010231
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x90], 0x43da483c
jmp 0x10010231
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x90], 0xb13aadc2
jmp 0x10010231
mov dword [ebp - 0x90], 0x98e3c992
jmp 0x1000ecdf