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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xac
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa8], eax
mov eax, dword [0x441080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x442594]
mov eax, dword [0x442590]
mov edx, ecx
sub edx, 0x98c4550d
sub edx, 1
add edx, 0x98c4550d
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x9e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x9d], al
mov dword [ebp - 0xa4], 0x4d92ef6e
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xac], eax
sub eax, 0x87e9cd66
je 0x40f024
jmp 0x40e073
mov eax, dword [ebp - 0xac]
sub eax, 0x8b11a090
je 0x40ef5e
jmp 0x40e089
mov eax, dword [ebp - 0xac]
sub eax, 0x8ede7597
je 0x40fa51
jmp 0x40e09f
mov eax, dword [ebp - 0xac]
sub eax, 0x936b5c92
je 0x40e780
jmp 0x40e0b5
mov eax, dword [ebp - 0xac]
sub eax, 0x9b227a64
je 0x40f5b5
jmp 0x40e0cb
mov eax, dword [ebp - 0xac]
sub eax, 0x9dcdcb3d
je 0x40ead4
jmp 0x40e0e1
mov eax, dword [ebp - 0xac]
sub eax, 0x9fd324ac
je 0x40f367
jmp 0x40e0f7
mov eax, dword [ebp - 0xac]
sub eax, 0xa6d33540
je 0x40ea7c
jmp 0x40e10d
mov eax, dword [ebp - 0xac]
sub eax, 0xa98de2d3
je 0x40eb9b
jmp 0x40e123
mov eax, dword [ebp - 0xac]
sub eax, 0xaa3ba50c
je 0x40f7b5
jmp 0x40e139
mov eax, dword [ebp - 0xac]
sub eax, 0xab3f1ffe
je 0x40f165
jmp 0x40e14f
mov eax, dword [ebp - 0xac]
sub eax, 0xab9f739d
je 0x40e8bf
jmp 0x40e165
mov eax, dword [ebp - 0xac]
sub eax, 0xabea2fc8
je 0x40f53f
jmp 0x40e17b
mov eax, dword [ebp - 0xac]
sub eax, 0xadb748e9
je 0x40f7c4
jmp 0x40e191
mov eax, dword [ebp - 0xac]
sub eax, 0xb7a43787
je 0x40ee23
jmp 0x40e1a7
mov eax, dword [ebp - 0xac]
sub eax, 0xb8be82f1
je 0x40eed9
jmp 0x40e1bd
mov eax, dword [ebp - 0xac]
sub eax, 0xc1d970de
je 0x40efb6
jmp 0x40e1d3
mov eax, dword [ebp - 0xac]
sub eax, 0xc7621bca
je 0x40fa09
jmp 0x40e1e9
mov eax, dword [ebp - 0xac]
sub eax, 0xc76be048
je 0x40f8e0
jmp 0x40e1ff
mov eax, dword [ebp - 0xac]
sub eax, 0xcaeaba35
je 0x40ee49
jmp 0x40e215
mov eax, dword [ebp - 0xac]
sub eax, 0xce942279
je 0x40f385
jmp 0x40e22b
mov eax, dword [ebp - 0xac]
sub eax, 0xd10bfb08
je 0x40e8f7
jmp 0x40e241
mov eax, dword [ebp - 0xac]
sub eax, 0xd1760787
je 0x40f078
jmp 0x40e257
mov eax, dword [ebp - 0xac]
sub eax, 0xd2a9727c
je 0x40f1b3
jmp 0x40e26d
mov eax, dword [ebp - 0xac]
sub eax, 0xd47c32de
je 0x40f90b
jmp 0x40e283
mov eax, dword [ebp - 0xac]
sub eax, 0xd95c9ba8
je 0x40ece8
jmp 0x40e299
mov eax, dword [ebp - 0xac]
sub eax, 0xdaaa4c93
je 0x40f9d9
jmp 0x40e2af
mov eax, dword [ebp - 0xac]
sub eax, 0xdf036abd
je 0x40f2dd
jmp 0x40e2c5
mov eax, dword [ebp - 0xac]
sub eax, 0xe03a855f
je 0x40ec9f
jmp 0x40e2db
mov eax, dword [ebp - 0xac]
sub eax, 0xe6061d2b
je 0x40f69b
jmp 0x40e2f1
mov eax, dword [ebp - 0xac]
sub eax, 0xe7bd7af9
je 0x40f720
jmp 0x40e307
mov eax, dword [ebp - 0xac]
sub eax, 0xe80f437e
je 0x40ea33
jmp 0x40e31d
mov eax, dword [ebp - 0xac]
sub eax, 0xe81e7b1c
je 0x40f9fa
jmp 0x40e333
mov eax, dword [ebp - 0xac]
sub eax, 0xefa9e1d8
je 0x40fabd
jmp 0x40e349
mov eax, dword [ebp - 0xac]
sub eax, 0xf67ab5d0
je 0x40ecf7
jmp 0x40e35f
mov eax, dword [ebp - 0xac]
sub eax, 0xfaf2ead0
je 0x40ea8b
jmp 0x40e375
mov eax, dword [ebp - 0xac]
sub eax, 0x2282684
je 0x40f40b
jmp 0x40e38b
mov eax, dword [ebp - 0xac]
sub eax, 0x3305c97
je 0x40f204
jmp 0x40e3a1
mov eax, dword [ebp - 0xac]
sub eax, 0x5dbe396
je 0x40e9c4
jmp 0x40e3b7
mov eax, dword [ebp - 0xac]
sub eax, 0x8363086
je 0x40f193
jmp 0x40e3cd
mov eax, dword [ebp - 0xac]
sub eax, 0xbc3b3d3
je 0x40ed11
jmp 0x40e3e3
mov eax, dword [ebp - 0xac]
sub eax, 0xd16f7ba
je 0x40e948
jmp 0x40e3f9
mov eax, dword [ebp - 0xac]
sub eax, 0xdedb159
je 0x40f4d7
jmp 0x40e40f
mov eax, dword [ebp - 0xac]
sub eax, 0x13106cb4
je 0x40f285
jmp 0x40e425
mov eax, dword [ebp - 0xac]
sub eax, 0x13214f05
je 0x40e8b0
jmp 0x40e43b
mov eax, dword [ebp - 0xac]
sub eax, 0x168106ae
je 0x40f9e8
jmp 0x40e451
mov eax, dword [ebp - 0xac]
sub eax, 0x1b1e2679
je 0x40eb4a
jmp 0x40e467
mov eax, dword [ebp - 0xac]
sub eax, 0x1c343d12
je 0x40ef6d
jmp 0x40e47d
mov eax, dword [ebp - 0xac]
sub eax, 0x1ebcca1c
je 0x40f7dd
jmp 0x40e493
mov eax, dword [ebp - 0xac]
sub eax, 0x216a9ce3
je 0x40f963
jmp 0x40e4a9
mov eax, dword [ebp - 0xac]
sub eax, 0x22498d83
je 0x40fb01
jmp 0x40e4bf
mov eax, dword [ebp - 0xac]
sub eax, 0x25e8504b
je 0x40f952
jmp 0x40e4d5
mov eax, dword [ebp - 0xac]
sub eax, 0x26f63738
je 0x40fa7e
jmp 0x40e4eb
mov eax, dword [ebp - 0xac]
sub eax, 0x2738adc4
je 0x40fa6f
jmp 0x40e501
mov eax, dword [ebp - 0xac]
sub eax, 0x28617ff4
je 0x40f294
jmp 0x40e517
mov eax, dword [ebp - 0xac]
sub eax, 0x349f2438
je 0x40f8c7
jmp 0x40e52d
mov eax, dword [ebp - 0xac]
sub eax, 0x387b1456
je 0x40f0ee
jmp 0x40e543
mov eax, dword [ebp - 0xac]
sub eax, 0x3b7534dd
je 0x40f853
jmp 0x40e559
mov eax, dword [ebp - 0xac]
sub eax, 0x47788d6c
je 0x40fad3
jmp 0x40e56f
mov eax, dword [ebp - 0xac]
sub eax, 0x488bfbd5
je 0x40faab
jmp 0x40e585
mov eax, dword [ebp - 0xac]
sub eax, 0x4961ad22
je 0x40f934
jmp 0x40e59b
mov eax, dword [ebp - 0xac]
sub eax, 0x4d92ef6e
je 0x40e72c
jmp 0x40e5b1
mov eax, dword [ebp - 0xac]
sub eax, 0x510de975
je 0x40f174
jmp 0x40e5c7
mov eax, dword [ebp - 0xac]
sub eax, 0x51473bf6
je 0x40f7a6
jmp 0x40e5dd
mov eax, dword [ebp - 0xac]
sub eax, 0x5309586d
je 0x40ee63
mov bl, byte [ebp - 0x9e]
mov dh, byte [ebp - 0x9d]
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, 0x216a9ce3
mov ecx, 0x936b5c92
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov ecx, dword [ebp - 0xa8]
push eax
mov eax, esp
mov dword [ebp - 0x9c], eax
push eax
mov eax, esp
mov dword [ebp - 0x98], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x94], eax
push eax
mov eax, esp
mov dword [ebp - 0x90], eax
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x88], eax
push eax
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 eax, dword [ebp - 0x9c]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0042ae00
add esp, 0xc
mov ecx, dword [0x442594]
mov eax, dword [0x442590]
mov edx, ecx
sub edx, 0x2ec9b1df
sub edx, 1
add edx, 0x2ec9b1df
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, 0x216a9ce3
mov ecx, 0x13214f05
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov dword [ebp - 0xa4], 0xab9f739d
jmp 0x40fbf0
mov eax, dword [ebp - 0x9c]
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 - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0xa4], 0xd10bfb08
jmp 0x40fbf0
mov eax, dword [0x442594]
mov ecx, dword [0x442590]
mov edx, eax
add edx, 0x1078c452
sub edx, 1
sub edx, 0x1078c452
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, 0x68dc0c3d
mov ecx, 0xd16f7ba
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov eax, dword [ebp - 0x60]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x59], al
mov ecx, dword [0x442594]
mov eax, dword [0x442590]
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, 0x68dc0c3d
mov ecx, 0x5dbe396
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov dl, byte [ebp - 0x59]
mov eax, 0x76d68b88
mov ecx, 0xfaf2ead0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov eax, dword [0x442594]
mov ecx, dword [0x442590]
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, 0xdaaa4c93
mov ecx, 0xa6d33540
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov dword [ebp - 0xa4], 0x25e8504b
jmp 0x40fbf0
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
mov eax, dword [ebp - 0x94]
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 - 0x94]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0xa4], 0x9dcdcb3d
jmp 0x40fbf0
mov ecx, dword [0x442594]
mov eax, dword [0x442590]
mov edx, ecx
add edx, 0x9c6f0863
sub edx, 1
sub edx, 0x9c6f0863
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, 0x168106ae
mov ecx, 0x1b1e2679
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov eax, dword [0x442594]
mov ecx, dword [0x442590]
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, 0x168106ae
mov ecx, 0xa98de2d3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov dword [ebp - 0xa4], 0x71ac6725
jmp 0x40fbf0
mov eax, dword [0x442594]
mov ecx, dword [0x442590]
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, 0xe81e7b1c
mov ecx, 0xd95c9ba8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov dword [ebp - 0xa4], 0x25e8504b
jmp 0x40fbf0
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xa4], 0xbc3b3d3
jmp 0x40fbf0
mov ecx, dword [0x442594]
mov eax, dword [0x442590]
mov edx, ecx
sub edx, 0x9c15a5bd
sub edx, 1
add edx, 0x9c15a5bd
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, 0xc7621bca
mov ecx, 0x706305b5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x80]
mov eax, 0xcaeaba35
mov ecx, 0x7f528bc1
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0xa4], 0x5309586d
jmp 0x40fbf0
mov eax, dword [ebp - 0x48]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x442594]
mov eax, dword [0x442590]
mov edx, ecx
sub edx, 0xff36e37c
sub edx, 1
add edx, 0xff36e37c
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, 0x8ede7597
mov ecx, 0x8b11a090
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov dword [ebp - 0xa4], 0x1c343d12
jmp 0x40fbf0
mov eax, dword [0x442594]
mov ecx, dword [0x442590]
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, 0x2738adc4
mov ecx, 0xc1d970de
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov ecx, dword [0x442594]
mov eax, dword [0x442590]
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, 0x2738adc4
mov ecx, 0x87e9cd66
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov dword [ebp - 0xa4], 0x25e8504b
jmp 0x40fbf0
mov ecx, dword [0x442594]
mov eax, dword [0x442590]
mov edx, ecx
sub edx, 0xf055f2fe
sub edx, 1
add edx, 0xf055f2fe
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, 0x26f63738
mov ecx, 0x387b1456
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x78]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x3c]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [0x442594]
mov ecx, dword [0x442590]
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, 0x26f63738
mov ecx, 0xab3f1ffe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov dword [ebp - 0xa4], 0x510de975
jmp 0x40fbf0
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov word [eax], 0
mov dword [ebp - 0xa4], 0x8363086
jmp 0x40fbf0
mov eax, dword [ebp - 0x70]
movzx eax, word [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xa4], 0xd2a9727c
jmp 0x40fbf0
mov eax, dword [0x442594]
mov ecx, dword [0x442590]
mov edx, eax
add edx, 0x5341dcbe
sub edx, 1
sub edx, 0x5341dcbe
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, 0x488bfbd5
mov ecx, 0x3305c97
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov eax, dword [ebp - 0x38]
mov ax, word [eax + 6]
mov word [ebp - 0x34], ax
mov ecx, dword [0x442594]
mov eax, dword [0x442590]
mov edx, ecx
sub edx, 0x6326f781
sub edx, 1
add edx, 0x6326f781
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, 0x488bfbd5
mov ecx, 0x13106cb4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov dword [ebp - 0xa4], 0x28617ff4
jmp 0x40fbf0
mov eax, dword [0x442594]
mov ecx, dword [0x442590]
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, 0xefa9e1d8
mov ecx, 0xdf036abd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov ax, word [ebp - 0x34]
movzx ecx, ax
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x31], al
mov ecx, dword [0x442594]
mov eax, dword [0x442590]
mov edx, ecx
sub edx, 0x1d52aea4
sub edx, 1
add edx, 0x1d52aea4
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, 0xefa9e1d8
mov ecx, 0x9fd324ac
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov dl, byte [ebp - 0x31]
mov eax, 0xc76be048
mov ecx, 0xce942279
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov ecx, dword [ebp - 0x74]
mov ecx, dword [ecx]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xa4], 0x5bf34a3b
jmp 0x40fbf0
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x70]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov ecx, dword [0x442594]
mov eax, dword [0x442590]
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, 0x47788d6c
mov ecx, 0x7def00d6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov eax, dword [ebp - 0x68]
mov dword [eax], 0
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x8c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x84095666
add edx, eax
add edx, 0x84095666
mov eax, dword [ebp - 0x68]
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 al
and al, 1
mov byte [ebp - 0x29], al
mov dword [ebp - 0xa4], 0xabea2fc8
jmp 0x40fbf0
mov ecx, dword [0x442594]
mov eax, dword [0x442590]
mov edx, ecx
sub edx, 0xc9a4bcd0
sub edx, 1
add edx, 0xc9a4bcd0
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, 0x22498d83
mov ecx, 0x9b227a64
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov eax, dword [ebp - 0x64]
mov cl, byte [ebp - 0x29]
mov byte [eax], cl
mov eax, dword [ebp - 0x8c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub ecx, eax
mov eax, dword [ebp - 0x6c]
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.0042af60
add esp, 0xc
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x1c], eax
mov ecx, dword [0x442594]
mov eax, dword [0x442590]
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, 0x22498d83
mov ecx, 0xe6061d2b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov dword [ebp - 0xa4], 0x591e283f
jmp 0x40fbf0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov esi, dword [ebp - 0x20]
xor eax, eax
sub eax, ecx
sub esi, eax
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
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 - 0x64]
mov byte [eax], cl
mov eax, dword [0x442594]
mov ecx, dword [0x442590]
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, 0x6a85b2a1
mov ecx, 0x51473bf6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov dword [ebp - 0xa4], 0xaa3ba50c
jmp 0x40fbf0
mov dword [ebp - 0xa4], 0xadb748e9
jmp 0x40fbf0
mov eax, dword [ebp - 0x70]
mov ax, word [eax]
mov word [ebp - 0x18], ax
mov dword [ebp - 0xa4], 0x1ebcca1c
jmp 0x40fbf0
mov ecx, dword [0x442594]
mov eax, dword [0x442590]
mov edx, ecx
add edx, 0x4dfcb565
sub edx, 1
sub edx, 0x4dfcb565
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, 0x7d20d9c1
mov ecx, 0x3b7534dd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov ax, word [ebp - 0x18]
sub ax, 0x450e
add ax, 1
add ax, 0x450e
mov word [ebp - 0x16], ax
mov eax, dword [0x442594]
mov ecx, dword [0x442590]
mov edx, eax
add edx, 0xdb2b261f
sub edx, 1
sub edx, 0xdb2b261f
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, 0x7d20d9c1
mov ecx, 0x64622b64
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40fbf0
mov eax, dword [ebp - 0x70]
mov cx, word [ebp - 0x16]
mov word [eax], cx
mov dword [ebp - 0xa4], 0x8363086
jmp 0x40fbf0
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xa4], 0xd47c32de
jmp 0x40fbf0
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xa4], 0x4961ad22
jmp 0x40fbf0
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa4], 0x25e8504b
jmp 0x40fbf0
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0042a0e0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0xa8]
push eax
mov eax, esp
push eax
mov edx, esp
mov dword [ebp - 0xb4], edx
sub esp, 0xc
mov edx, esp
mov dword [ebp - 0xb0], edx
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, dword [ebp - 0xb4]
mov edx, eax
mov eax, dword [ebp - 0xb0]
mov dword [ecx], edx
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0042ae00
add esp, 0xc
mov dword [ebp - 0xa4], 0x936b5c92
jmp 0x40fbf0
mov dword [ebp - 0xa4], 0xe80f437e
jmp 0x40fbf0
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0xa4], 0x1b1e2679
jmp 0x40fbf0
mov dword [ebp - 0xa4], 0xe03a855f
jmp 0x40fbf0
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 dword [ebp - 0xa4], 0x706305b5
jmp 0x40fbf0
mov eax, dword [ebp - 0x48]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa4], 0xb8be82f1
jmp 0x40fbf0
mov dword [ebp - 0xa4], 0xc1d970de
jmp 0x40fbf0
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0xa4], 0x387b1456
jmp 0x40fbf0
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0xa4], 0x3305c97
jmp 0x40fbf0
mov ax, word [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xa4], 0xdf036abd
jmp 0x40fbf0
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x70]
movzx eax, word [eax]
imul edx, eax, 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 - 0x6c]
mov dword [eax], ecx
mov dword [ebp - 0xa4], 0x2282684
jmp 0x40fbf0
mov eax, dword [ebp - 0x64]
mov cl, byte [ebp - 0x29]
mov byte [eax], cl
mov eax, dword [ebp - 0x8c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0xda6edc92
add edx, eax
sub edx, 0xda6edc92
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
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 - 0x6c]
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.0042af60
add esp, 0xc
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xa4], 0x9b227a64
jmp 0x40fbf0
jmp 0x40e057