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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xa0
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa4], eax
mov eax, dword [0x43c080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x43d544]
mov eax, dword [0x43d540]
mov edx, ecx
sub edx, 0x9808cd1f
sub edx, 1
add edx, 0x9808cd1f
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x9a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x99], al
mov dword [ebp - 0xa0], 0xd8067222
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa8], eax
sub eax, 0x80204a55
je 0x40bd6b
jmp 0x40b4f3
mov eax, dword [ebp - 0xa8]
sub eax, 0x8254c002
je 0x40bbce
jmp 0x40b509
mov eax, dword [ebp - 0xa8]
sub eax, 0x89265387
je 0x40c73c
jmp 0x40b51f
mov eax, dword [ebp - 0xa8]
sub eax, 0x8c148f69
je 0x40cb9c
jmp 0x40b535
mov eax, dword [ebp - 0xa8]
sub eax, 0x9363e142
je 0x40c869
jmp 0x40b54b
mov eax, dword [ebp - 0xa8]
sub eax, 0x93657cbf
je 0x40bd89
jmp 0x40b561
mov eax, dword [ebp - 0xa8]
sub eax, 0x93ede7dd
je 0x40c1f2
jmp 0x40b577
mov eax, dword [ebp - 0xa8]
sub eax, 0x97a1108a
je 0x40c972
jmp 0x40b58d
mov eax, dword [ebp - 0xa8]
sub eax, 0x9ec7c79d
je 0x40c337
jmp 0x40b5a3
mov eax, dword [ebp - 0xa8]
sub eax, 0xa36ab0e1
je 0x40c054
jmp 0x40b5b9
mov eax, dword [ebp - 0xa8]
sub eax, 0xa44c370e
je 0x40ccb0
jmp 0x40b5cf
mov eax, dword [ebp - 0xa8]
sub eax, 0xad3851db
je 0x40bf5f
jmp 0x40b5e5
mov eax, dword [ebp - 0xa8]
sub eax, 0xb084e505
je 0x40bfe5
jmp 0x40b5fb
mov eax, dword [ebp - 0xa8]
sub eax, 0xb6010a29
je 0x40bde1
jmp 0x40b611
mov eax, dword [ebp - 0xa8]
sub eax, 0xbb1922c9
je 0x40c9e8
jmp 0x40b627
mov eax, dword [ebp - 0xa8]
sub eax, 0xbe88daf0
je 0x40c1c0
jmp 0x40b63d
mov eax, dword [ebp - 0xa8]
sub eax, 0xbf43e894
je 0x40c12a
jmp 0x40b653
mov eax, dword [ebp - 0xa8]
sub eax, 0xcdc64438
je 0x40bc5c
jmp 0x40b669
mov eax, dword [ebp - 0xa8]
sub eax, 0xd00be230
je 0x40ca4a
jmp 0x40b67f
mov eax, dword [ebp - 0xa8]
sub eax, 0xd09cacd2
je 0x40c414
jmp 0x40b695
mov eax, dword [ebp - 0xa8]
sub eax, 0xd4133c86
je 0x40ca59
jmp 0x40b6ab
mov eax, dword [ebp - 0xa8]
sub eax, 0xd8067222
je 0x40bae6
jmp 0x40b6c1
mov eax, dword [ebp - 0xa8]
sub eax, 0xd8e2f770
je 0x40c8b2
jmp 0x40b6d7
mov eax, dword [ebp - 0xa8]
sub eax, 0xdbd862da
je 0x40c85a
jmp 0x40b6ed
mov eax, dword [ebp - 0xa8]
sub eax, 0xdd990fe3
je 0x40cae9
jmp 0x40b703
mov eax, dword [ebp - 0xa8]
sub eax, 0xde5e23da
je 0x40c20c
jmp 0x40b719
mov eax, dword [ebp - 0xa8]
sub eax, 0xe12c3777
je 0x40c6eb
jmp 0x40b72f
mov eax, dword [ebp - 0xa8]
sub eax, 0xe16d18a4
je 0x40c3a5
jmp 0x40b745
mov eax, dword [ebp - 0xa8]
sub eax, 0xe2873808
je 0x40c90b
jmp 0x40b75b
mov eax, dword [ebp - 0xa8]
sub eax, 0xe29802bd
je 0x40c045
jmp 0x40b771
mov eax, dword [ebp - 0xa8]
sub eax, 0xe79331dd
je 0x40c841
jmp 0x40b787
mov eax, dword [ebp - 0xa8]
sub eax, 0xf18f760b
je 0x40cb2c
jmp 0x40b79d
mov eax, dword [ebp - 0xa8]
sub eax, 0xf4549329
je 0x40c11b
jmp 0x40b7b3
mov eax, dword [ebp - 0xa8]
sub eax, 0xf49f626f
je 0x40bbbf
jmp 0x40b7c9
mov eax, dword [ebp - 0xa8]
sub eax, 0xf4e33a16
je 0x40c6be
jmp 0x40b7df
mov eax, dword [ebp - 0xa8]
sub eax, 0xfd68ccb9
je 0x40c547
jmp 0x40b7f5
mov eax, dword [ebp - 0xa8]
sub eax, 0x298845a
je 0x40c598
jmp 0x40b80b
mov eax, dword [ebp - 0xa8]
sub eax, 0x8c13d3a
je 0x40bc89
jmp 0x40b821
mov eax, dword [ebp - 0xa8]
sub eax, 0xe13b426
je 0x40bf94
jmp 0x40b837
mov eax, dword [ebp - 0xa8]
sub eax, 0x183777dd
je 0x40c7f7
jmp 0x40b84d
mov eax, dword [ebp - 0xa8]
sub eax, 0x1abdae57
je 0x40caaa
jmp 0x40b863
mov eax, dword [ebp - 0xa8]
sub eax, 0x1d99e8d1
je 0x40bd98
jmp 0x40b879
mov eax, dword [ebp - 0xa8]
sub eax, 0x21c05315
je 0x40cc5c
jmp 0x40b88f
mov eax, dword [ebp - 0xa8]
sub eax, 0x2bbaec3f
je 0x40c806
jmp 0x40b8a5
mov eax, dword [ebp - 0xa8]
sub eax, 0x309ccbee
je 0x40caff
jmp 0x40b8bb
mov eax, dword [ebp - 0xa8]
sub eax, 0x349c1083
je 0x40c815
jmp 0x40b8d1
mov eax, dword [ebp - 0xa8]
sub eax, 0x36660f0e
je 0x40c1cf
jmp 0x40b8e7
mov eax, dword [ebp - 0xa8]
sub eax, 0x39c167bf
je 0x40c305
jmp 0x40b8fd
mov eax, dword [ebp - 0xa8]
sub eax, 0x3c58c8f6
je 0x40be7b
jmp 0x40b913
mov eax, dword [ebp - 0xa8]
sub eax, 0x3d6e1275
je 0x40c18b
jmp 0x40b929
mov eax, dword [ebp - 0xa8]
sub eax, 0x3dd52f16
je 0x40bf7d
jmp 0x40b93f
mov eax, dword [ebp - 0xa8]
sub eax, 0x3f83365d
je 0x40c282
jmp 0x40b955
mov eax, dword [ebp - 0xa8]
sub eax, 0x438c693b
je 0x40ccc2
jmp 0x40b96b
mov eax, dword [ebp - 0xa8]
sub eax, 0x4561568d
je 0x40c0a5
jmp 0x40b981
mov eax, dword [ebp - 0xa8]
sub eax, 0x46d42a26
je 0x40c529
jmp 0x40b997
mov eax, dword [ebp - 0xa8]
sub eax, 0x475de311
je 0x40cada
jmp 0x40b9ad
mov eax, dword [ebp - 0xa8]
sub eax, 0x5b0e7960
je 0x40c940
jmp 0x40b9c3
mov eax, dword [ebp - 0xa8]
sub eax, 0x5d6136e0
je 0x40c91a
jmp 0x40b9d9
mov eax, dword [ebp - 0xa8]
sub eax, 0x6243aee9
je 0x40c6af
jmp 0x40b9ef
mov eax, dword [ebp - 0xa8]
sub eax, 0x6646c748
je 0x40bef1
jmp 0x40ba05
mov eax, dword [ebp - 0xa8]
sub eax, 0x675c459c
je 0x40bb15
jmp 0x40ba1b
mov eax, dword [ebp - 0xa8]
sub eax, 0x6bb02168
je 0x40be6c
jmp 0x40ba31
mov eax, dword [ebp - 0xa8]
sub eax, 0x6cba18cc
je 0x40cabc
jmp 0x40ba47
mov eax, dword [ebp - 0xa8]
sub eax, 0x705be85a
je 0x40ca39
jmp 0x40ba5d
mov eax, dword [ebp - 0xa8]
sub eax, 0x727f53e7
je 0x40c423
mov al, byte [ebp - 0x9a]
mov cl, byte [ebp - 0x99]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xd00be230
mov ecx, 0x675c459c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
push eax
mov eax, esp
mov dword [ebp - 0x98], eax
push eax
mov eax, esp
mov dword [ebp - 0x94], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x90], eax
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x84], eax
push eax
mov eax, esp
mov dword [ebp - 0x80], eax
push eax
mov eax, esp
mov dword [ebp - 0x7c], eax
push eax
mov eax, esp
mov dword [ebp - 0x78], eax
push eax
mov eax, esp
mov dword [ebp - 0x74], eax
push eax
mov eax, esp
mov dword [ebp - 0x70], eax
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
mov eax, dword [0x43d544]
mov ecx, dword [0x43d540]
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, 0xd00be230
mov ecx, 0xf49f626f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov dword [ebp - 0xa0], 0x8254c002
jmp 0x40cccc
mov ecx, dword [ebp - 0xa4]
push eax
mov eax, esp
mov dword [ebp - 0x68], eax
push eax
mov eax, esp
mov dword [ebp - 0x64], eax
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x94]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.00426f30
add esp, 0xc
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xa0], 0xcdc64438
jmp 0x40cccc
mov edx, dword [ebp - 0x5c]
mov eax, 0x797281e5
mov ecx, 0x8c13d3a
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x94]
mov edx, dword [eax]
mov eax, dword [ebp - 0x90]
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 dword [ebp - 0xa0], 0x78dab17f
jmp 0x40cccc
mov dl, byte [ebp - 0x56]
mov eax, 0x1d99e8d1
mov ecx, 0x93657cbf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov dword [ebp - 0xa0], 0x97a1108a
jmp 0x40cccc
mov eax, dword [0x43d544]
mov ecx, dword [0x43d540]
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, 0xd4133c86
mov ecx, 0xb6010a29
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov eax, dword [ebp - 0x80]
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 - 0x7c]
mov dword [eax], ecx
mov eax, dword [0x43d544]
mov ecx, dword [0x43d540]
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, 0xd4133c86
mov ecx, 0x6bb02168
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov dword [ebp - 0xa0], 0x3c58c8f6
jmp 0x40cccc
mov ecx, dword [0x43d544]
mov eax, dword [0x43d540]
mov edx, ecx
add edx, 0xfd6d75a1
sub edx, 1
sub edx, 0xfd6d75a1
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, 0x1abdae57
mov ecx, 0x6646c748
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov eax, dword [ebp - 0x7c]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x55], al
mov eax, dword [0x43d544]
mov ecx, dword [0x43d540]
mov edx, eax
add edx, 0xa3bdb0ed
sub edx, 1
sub edx, 0xa3bdb0ed
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, 0x1abdae57
mov ecx, 0x72e1adb1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov dl, byte [ebp - 0x55]
mov eax, 0x3dd52f16
mov ecx, 0xbf43e894
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0xa0], 0xe13b426
jmp 0x40cccc
mov eax, dword [0x43d544]
mov ecx, dword [0x43d540]
mov edx, eax
add edx, 0xed95c13b
sub edx, 1
sub edx, 0xed95c13b
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, 0x6cba18cc
mov ecx, 0xb084e505
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov eax, dword [ebp - 0x54]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x43d544]
mov ecx, dword [0x43d540]
mov edx, eax
add edx, 0xff84583
sub edx, 1
sub edx, 0xff84583
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, 0x6cba18cc
mov ecx, 0xe29802bd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov dword [ebp - 0xa0], 0xa36ab0e1
jmp 0x40cccc
mov eax, dword [0x43d544]
mov ecx, dword [0x43d540]
mov edx, eax
sub edx, 0xcce90324
sub edx, 1
add edx, 0xcce90324
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, 0x475de311
mov ecx, 0x4561568d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov ecx, dword [0x43d544]
mov eax, dword [0x43d540]
mov edx, ecx
sub edx, 0xc93e8738
sub edx, 1
add edx, 0xc93e8738
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, 0x475de311
mov ecx, 0xf4549329
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov dword [ebp - 0xa0], 0x97a1108a
jmp 0x40cccc
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ecx, eax
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xa0], 0x3d6e1275
jmp 0x40cccc
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
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 - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
mov word [eax], 0
mov dword [ebp - 0xa0], 0xbe88daf0
jmp 0x40cccc
mov dword [ebp - 0xa0], 0x36660f0e
jmp 0x40cccc
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x48], eax
mov dword [ebp - 0xa0], 0x93ede7dd
jmp 0x40cccc
mov eax, dword [ebp - 0x48]
mov ax, word [eax + 2]
mov word [ebp - 0x44], ax
mov dword [ebp - 0xa0], 0xde5e23da
jmp 0x40cccc
mov ecx, dword [0x43d544]
mov eax, dword [0x43d540]
mov edx, ecx
sub edx, 0x66ddbf71
sub edx, 1
add edx, 0x66ddbf71
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, 0xdd990fe3
mov ecx, 0x3f83365d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov ax, word [ebp - 0x44]
movzx ecx, ax
mov eax, dword [ebp - 0x4c]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x41], al
mov eax, dword [0x43d544]
mov ecx, dword [0x43d540]
mov edx, eax
sub edx, 0x2b681907
sub edx, 1
add edx, 0x2b681907
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, 0xdd990fe3
mov ecx, 0x7ff33f2b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
add eax, 0x91e0ac86
add eax, 0x18
sub eax, 0x91e0ac86
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
add eax, 4
add eax, 0x10
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xa0], 0x9ec7c79d
jmp 0x40cccc
mov ecx, dword [0x43d544]
mov eax, dword [0x43d540]
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, 0x309ccbee
mov ecx, 0xe16d18a4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov eax, dword [ebp - 0x3c]
movzx edx, word [eax]
mov eax, dword [ebp - 0x40]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax]
imul eax, eax, 0x28
mov dword [ebp - 0x34], eax
mov eax, dword [0x43d544]
mov ecx, dword [0x43d540]
mov edx, eax
sub edx, 0xe97d3dcb
sub edx, 1
add edx, 0xe97d3dcb
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, 0x309ccbee
mov ecx, 0xd09cacd2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov dword [ebp - 0xa0], 0x727f53e7
jmp 0x40cccc
mov dl, byte [ebp - 0x2d]
mov eax, 0xfd68ccb9
mov ecx, 0x2bbaec3f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov eax, dword [0x43d544]
mov ecx, dword [0x43d540]
mov edx, eax
add edx, 0x82e1befa
sub edx, 1
sub edx, 0x82e1befa
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, 0x8c148f69
mov ecx, 0x298845a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov eax, dword [ebp - 0x64]
mov dword [eax], 0
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov 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 - 0x64]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x40
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x60]
mov byte [eax], cl
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
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 - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0xc37e777f
add ecx, eax
sub ecx, 0xc37e777f
mov eax, dword [ebp - 0x68]
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.00427090
add esp, 0xc
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
add eax, 8
mov dword [ebp - 0x28], eax
mov eax, dword [0x43d544]
mov ecx, dword [0x43d540]
mov edx, eax
sub edx, 0x469186d8
sub edx, 1
add edx, 0x469186d8
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, 0x8c148f69
mov ecx, 0x6243aee9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov dword [ebp - 0xa0], 0xf4e33a16
jmp 0x40cccc
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa0], 0xe12c3777
jmp 0x40cccc
mov eax, dword [0x43d544]
mov ecx, dword [0x43d540]
mov edx, eax
add edx, 0x51a29683
sub edx, 1
sub edx, 0x51a29683
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, 0x21c05315
mov ecx, 0x89265387
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov esi, dword [ebp - 0x20]
add esi, 0xce66f96d
add esi, eax
sub esi, 0xce66f96d
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x2c]
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 - 0x60]
mov byte [eax], cl
mov ecx, dword [0x43d544]
mov eax, dword [0x43d540]
mov edx, ecx
sub edx, 0xebde15cb
sub edx, 1
add edx, 0xebde15cb
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, 0x21c05315
mov ecx, 0x183777dd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov dword [ebp - 0xa0], 0x2bbaec3f
jmp 0x40cccc
mov dword [ebp - 0xa0], 0x349c1083
jmp 0x40cccc
mov eax, dword [ebp - 0x6c]
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 - 0x16], ax
mov dword [ebp - 0xa0], 0xe79331dd
jmp 0x40cccc
mov eax, dword [ebp - 0x6c]
mov cx, word [ebp - 0x16]
mov word [eax], cx
mov dword [ebp - 0xa0], 0xdbd862da
jmp 0x40cccc
mov dword [ebp - 0xa0], 0x36660f0e
jmp 0x40cccc
mov eax, dword [0x43d544]
mov ecx, dword [0x43d540]
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, 0xa44c370e
mov ecx, 0xd8e2f770
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [0x43d544]
mov ecx, dword [0x43d540]
mov edx, eax
sub edx, 0x2e411f00
sub edx, 1
add edx, 0x2e411f00
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, 0xa44c370e
mov ecx, 0xe2873808
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov dword [ebp - 0xa0], 0x5d6136e0
jmp 0x40cccc
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xa0], 0x5b0e7960
jmp 0x40cccc
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0x97a1108a
jmp 0x40cccc
mov ecx, dword [0x43d544]
mov eax, dword [0x43d540]
mov edx, ecx
add edx, 0x6496f20b
sub edx, 1
sub edx, 0x6496f20b
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, 0x438c693b
mov ecx, 0xbb1922c9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov eax, dword [0x43d544]
mov ecx, dword [0x43d540]
mov edx, eax
sub edx, 0x875842c
sub edx, 1
add edx, 0x875842c
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, 0x438c693b
mov ecx, 0x705be85a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40cccc
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00426240
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0xa0], 0x675c459c
jmp 0x40cccc
mov eax, dword [ebp - 0x80]
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 - 0x7c]
mov dword [eax], ecx
mov dword [ebp - 0xa0], 0xb6010a29
jmp 0x40cccc
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xa0], 0x6646c748
jmp 0x40cccc
mov eax, dword [ebp - 0x54]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0xb084e505
jmp 0x40cccc
mov dword [ebp - 0xa0], 0x4561568d
jmp 0x40cccc
mov ax, word [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xa0], 0x3f83365d
jmp 0x40cccc
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xa0], 0xe16d18a4
jmp 0x40cccc
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
add ecx, 0x9716fb9a
add ecx, eax
sub ecx, 0x9716fb9a
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x435965
call fcn.0042a830
add esp, 8
mov dword [ebp - 0xa0], 0x77325e5c
jmp 0x40cccc
mov eax, dword [ebp - 0x64]
mov dword [eax], 0
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x64]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x40
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x60]
mov byte [eax], cl
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0x39fc8620
add edx, eax
sub edx, 0x39fc8620
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0xd9f0287a
add ecx, eax
sub ecx, 0xd9f0287a
mov eax, dword [ebp - 0x68]
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.00427090
add esp, 0xc
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0xa0], 0x298845a
jmp 0x40cccc
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov esi, dword [ebp - 0x20]
add esi, 0x196661f3
add esi, eax
sub esi, 0x196661f3
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x2c]
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 - 0x60]
mov byte [eax], cl
mov dword [ebp - 0xa0], 0x89265387
jmp 0x40cccc
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa0], 0xd8e2f770
jmp 0x40cccc
mov dword [ebp - 0xa0], 0xbb1922c9
jmp 0x40b4d7