Function at 0x40d410
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 [0x43e080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x43f57c]
mov eax, dword [0x43f578]
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 - 0x92], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x91], al
mov dword [ebp - 0x98], 0x5132f992
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa0], eax
sub eax, 0x92c31591
je 0x40e494
jmp 0x40d48b
mov eax, dword [ebp - 0xa0]
sub eax, 0x9610cd79
je 0x40dae6
jmp 0x40d4a1
mov eax, dword [ebp - 0xa0]
sub eax, 0xa6eed13a
je 0x40e607
jmp 0x40d4b7
mov eax, dword [ebp - 0xa0]
sub eax, 0xa954b71f
je 0x40e59d
jmp 0x40d4cd
mov eax, dword [ebp - 0xa0]
sub eax, 0xa9ab819c
je 0x40e6df
jmp 0x40d4e3
mov eax, dword [ebp - 0xa0]
sub eax, 0xb38b397b
je 0x40e55a
jmp 0x40d4f9
mov eax, dword [ebp - 0xa0]
sub eax, 0xb428326b
je 0x40e1ab
jmp 0x40d50f
mov eax, dword [ebp - 0xa0]
sub eax, 0xb9b74ac6
je 0x40e7f7
jmp 0x40d525
mov eax, dword [ebp - 0xa0]
sub eax, 0xbdccabae
je 0x40e6bf
jmp 0x40d53b
mov eax, dword [ebp - 0xa0]
sub eax, 0xbe9d9355
je 0x40e008
jmp 0x40d551
mov eax, dword [ebp - 0xa0]
sub eax, 0xc5a1d33f
je 0x40e667
jmp 0x40d567
mov eax, dword [ebp - 0xa0]
sub eax, 0xc7bb6478
je 0x40e756
jmp 0x40d57d
mov eax, dword [ebp - 0xa0]
sub eax, 0xc9df3d01
je 0x40e6a1
jmp 0x40d593
mov eax, dword [ebp - 0xa0]
sub eax, 0xc9e24cf5
je 0x40e7cb
jmp 0x40d5a9
mov eax, dword [ebp - 0xa0]
sub eax, 0xccb23801
je 0x40e7e2
jmp 0x40d5bf
mov eax, dword [ebp - 0xa0]
sub eax, 0xd2fb40fd
je 0x40e384
jmp 0x40d5d5
mov eax, dword [ebp - 0xa0]
sub eax, 0xda06eb8e
je 0x40e1ba
jmp 0x40d5eb
mov eax, dword [ebp - 0xa0]
sub eax, 0xe4098dfb
je 0x40e026
jmp 0x40d601
mov eax, dword [ebp - 0xa0]
sub eax, 0xebb9282a
je 0x40df1c
jmp 0x40d617
mov eax, dword [ebp - 0xa0]
sub eax, 0xf80b2e66
je 0x40dd8e
jmp 0x40d62d
mov eax, dword [ebp - 0xa0]
sub eax, 0xf91655f6
je 0x40e0d5
jmp 0x40d643
mov eax, dword [ebp - 0xa0]
sub eax, 0x26edbb0
je 0x40e359
jmp 0x40d659
mov eax, dword [ebp - 0xa0]
sub eax, 0x44f31d0
je 0x40da79
jmp 0x40d66f
mov eax, dword [ebp - 0xa0]
sub eax, 0x711e527
je 0x40e05b
jmp 0x40d685
mov eax, dword [ebp - 0xa0]
sub eax, 0x8952d26
je 0x40e2db
jmp 0x40d69b
mov eax, dword [ebp - 0xa0]
sub eax, 0xdbe32f2
je 0x40dc1a
jmp 0x40d6b1
mov eax, dword [ebp - 0xa0]
sub eax, 0xf733e2c
je 0x40dd18
jmp 0x40d6c7
mov eax, dword [ebp - 0xa0]
sub eax, 0x10488906
je 0x40de4e
jmp 0x40d6dd
mov eax, dword [ebp - 0xa0]
sub eax, 0x19b7b108
je 0x40e1d2
jmp 0x40d6f3
mov eax, dword [ebp - 0xa0]
sub eax, 0x202cd38f
je 0x40e658
jmp 0x40d709
mov eax, dword [ebp - 0xa0]
sub eax, 0x26743a70
je 0x40dc9f
jmp 0x40d71f
mov eax, dword [ebp - 0xa0]
sub eax, 0x27db4c7a
je 0x40df0d
jmp 0x40d735
mov eax, dword [ebp - 0xa0]
sub eax, 0x3a1a266d
je 0x40e806
jmp 0x40d74b
mov eax, dword [ebp - 0xa0]
sub eax, 0x3bef0a77
je 0x40e7bc
jmp 0x40d761
mov eax, dword [ebp - 0xa0]
sub eax, 0x4f0684dc
je 0x40de5d
jmp 0x40d777
mov eax, dword [ebp - 0xa0]
sub eax, 0x5132f992
je 0x40d9b8
jmp 0x40d78d
mov eax, dword [ebp - 0xa0]
sub eax, 0x54f13fd0
je 0x40e502
jmp 0x40d7a3
mov eax, dword [ebp - 0xa0]
sub eax, 0x5557fb78
je 0x40e2ea
jmp 0x40d7b9
mov eax, dword [ebp - 0xa0]
sub eax, 0x56d1aeaa
je 0x40e413
jmp 0x40d7cf
mov eax, dword [ebp - 0xa0]
sub eax, 0x596c3146
je 0x40e6d0
jmp 0x40d7e5
mov eax, dword [ebp - 0xa0]
sub eax, 0x5998f933
je 0x40e06a
jmp 0x40d7fb
mov eax, dword [ebp - 0xa0]
sub eax, 0x5d8efa00
je 0x40e11e
jmp 0x40d811
mov eax, dword [ebp - 0xa0]
sub eax, 0x5e330db4
je 0x40e7aa
jmp 0x40d827
mov eax, dword [ebp - 0xa0]
sub eax, 0x5ee46ccc
je 0x40dbed
jmp 0x40d83d
mov eax, dword [ebp - 0xa0]
sub eax, 0x5fdd8cf9
je 0x40df92
jmp 0x40d853
mov eax, dword [ebp - 0xa0]
sub eax, 0x60bae60f
je 0x40deae
jmp 0x40d869
mov eax, dword [ebp - 0xa0]
sub eax, 0x63518e88
je 0x40e54b
jmp 0x40d87f
mov eax, dword [ebp - 0xa0]
sub eax, 0x63536949
je 0x40e5b6
jmp 0x40d895
mov eax, dword [ebp - 0xa0]
sub eax, 0x6709f3b9
je 0x40da88
jmp 0x40d8ab
mov eax, dword [ebp - 0xa0]
sub eax, 0x68327057
je 0x40e20d
jmp 0x40d8c1
mov eax, dword [ebp - 0xa0]
sub eax, 0x6911d15e
je 0x40e19c
jmp 0x40d8d7
mov eax, dword [ebp - 0xa0]
sub eax, 0x69998536
je 0x40e25e
jmp 0x40d8ed
mov eax, dword [ebp - 0xa0]
sub eax, 0x6be3d739
je 0x40e309
jmp 0x40d903
mov eax, dword [ebp - 0xa0]
sub eax, 0x6f75b5bd
je 0x40dd09
jmp 0x40d919
mov eax, dword [ebp - 0xa0]
sub eax, 0x71cbc83b
je 0x40dc6d
jmp 0x40d92f
mov eax, dword [ebp - 0xa0]
sub eax, 0x746eb7ad
je 0x40d9e7
jmp 0x40d945
mov eax, dword [ebp - 0xa0]
sub eax, 0x766d8250
je 0x40da9d
jmp 0x40d95b
mov eax, dword [ebp - 0xa0]
sub eax, 0x775ee1f4
je 0x40e1e9
jmp 0x40d971
mov eax, dword [ebp - 0xa0]
sub eax, 0x778cd3bd
je 0x40dc0b
jmp 0x40d987
mov eax, dword [ebp - 0xa0]
sub eax, 0x79f65c3a
je 0x40e573
jmp 0x40d99d
mov eax, dword [ebp - 0xa0]
sub eax, 0x7f2c800c
je 0x40e03d
jmp 0x40d9b3
jmp 0x40e813
mov al, byte [ebp - 0x92]
mov cl, byte [ebp - 0x91]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x596c3146
mov ecx, 0x746eb7ad
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
push eax
mov eax, esp
mov dword [ebp - 0x90], eax
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
sub esp, 0xc
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
sub esp, 0x104
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 eax, dword [0x43f57c]
mov ecx, dword [0x43f578]
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, 0x596c3146
mov ecx, 0x44f31d0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov dword [ebp - 0x98], 0x6709f3b9
jmp 0x40e813
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x98], 0x766d8250
jmp 0x40e813
mov eax, dword [0x43f57c]
mov ecx, dword [0x43f578]
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, 0xa9ab819c
mov ecx, 0x9610cd79
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov ecx, dword [ebp - 0x9c]
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
push eax
mov eax, esp
mov dword [ebp - 0x5c], eax
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.004284d0
add esp, 0xc
mov eax, dword [ebp - 0x90]
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 - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x51], al
mov ecx, dword [0x43f57c]
mov eax, dword [0x43f578]
mov edx, ecx
add edx, 0x8ca60b11
sub edx, 1
sub edx, 0x8ca60b11
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, 0xa9ab819c
mov ecx, 0x5ee46ccc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov dl, byte [ebp - 0x51]
mov eax, 0x778cd3bd
mov ecx, 0xdbe32f2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov dword [ebp - 0x98], 0xbdccabae
jmp 0x40e813
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x8c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x88]
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 - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x98], 0x71cbc83b
jmp 0x40e813
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x50]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [ebp - 0x98], 0x26743a70
jmp 0x40e813
mov eax, dword [ebp - 0x7c]
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 - 0x78]
mov dword [eax], ecx
mov edx, dword [ebp - 0x78]
mov esi, 0xffffffff
mov eax, 0xf733e2c
mov ecx, 0x6f75b5bd
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov dword [ebp - 0x98], 0xbdccabae
jmp 0x40e813
mov ecx, dword [0x43f57c]
mov eax, dword [0x43f578]
mov edx, ecx
add edx, 0x2e7ca384
sub edx, 1
sub edx, 0x2e7ca384
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, 0xc7bb6478
mov ecx, 0xf80b2e66
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov eax, dword [ebp - 0x78]
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 - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov ecx, dword [0x43f57c]
mov eax, dword [0x43f578]
mov edx, ecx
sub edx, 0xf711d9b9
sub edx, 1
add edx, 0xf711d9b9
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, 0xc7bb6478
mov ecx, 0x10488906
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov dword [ebp - 0x98], 0x4f0684dc
jmp 0x40e813
mov eax, dword [0x43f57c]
mov ecx, dword [0x43f578]
mov edx, eax
add edx, 0x918473d0
sub edx, 1
sub edx, 0x918473d0
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, 0x5e330db4
mov ecx, 0x60bae60f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov eax, dword [ebp - 0x4c]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x45], al
mov eax, dword [0x43f57c]
mov ecx, dword [0x43f578]
mov edx, eax
sub edx, 0xfe1db6d8
sub edx, 1
add edx, 0xfe1db6d8
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, 0x5e330db4
mov ecx, 0x27db4c7a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov dword [ebp - 0x98], 0xebb9282a
jmp 0x40e813
mov ecx, dword [0x43f57c]
mov eax, dword [0x43f578]
mov edx, ecx
sub edx, 0x393e74e3
sub edx, 1
add edx, 0x393e74e3
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, 0x3bef0a77
mov ecx, 0x5fdd8cf9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov ecx, dword [0x43f57c]
mov eax, dword [0x43f578]
mov edx, ecx
sub edx, 0xc1ef3ecf
sub edx, 1
add edx, 0xc1ef3ecf
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, 0x3bef0a77
mov ecx, 0xbe9d9355
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov dl, byte [ebp - 0x45]
mov eax, 0xe4098dfb
mov ecx, 0x5998f933
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x98], 0x7f2c800c
jmp 0x40e813
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0x711e527
jmp 0x40e813
mov dword [ebp - 0x98], 0xbdccabae
jmp 0x40e813
mov eax, dword [ebp - 0x74]
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 - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov dword [ebp - 0x98], 0xf91655f6
jmp 0x40e813
mov eax, dword [0x43f57c]
mov ecx, dword [0x43f578]
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, 0xc9e24cf5
mov ecx, 0x5d8efa00
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov eax, dword [ebp - 0x64]
mov word [eax], 0
mov ecx, dword [0x43f57c]
mov eax, dword [0x43f578]
mov edx, ecx
sub edx, 0xab3887b6
sub edx, 1
add edx, 0xab3887b6
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, 0xc9e24cf5
mov ecx, 0x6911d15e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov dword [ebp - 0x98], 0xb428326b
jmp 0x40e813
mov dword [ebp - 0x98], 0xda06eb8e
jmp 0x40e813
mov eax, dword [ebp - 0x64]
movzx eax, word [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x98], 0x19b7b108
jmp 0x40e813
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x98], 0x775ee1f4
jmp 0x40e813
mov eax, dword [ebp - 0x3c]
movzx esi, word [eax + 6]
mov edx, dword [ebp - 0x40]
mov eax, 0x63536949
mov ecx, 0x68327057
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov eax, dword [0x43f57c]
mov ecx, dword [0x43f578]
mov edx, eax
sub edx, 0x662acaae
sub edx, 1
add edx, 0x662acaae
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, 0xccb23801
mov ecx, 0x69998536
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
sub eax, 0xbdad822b
add eax, 0x18
add eax, 0xbdad822b
mov ecx, dword [ebp - 0x68]
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 - 0x38], eax
mov eax, dword [0x43f57c]
mov ecx, dword [0x43f578]
mov edx, eax
sub edx, 0x8cd1d610
sub edx, 1
add edx, 0x8cd1d610
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, 0xccb23801
mov ecx, 0x8952d26
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov dword [ebp - 0x98], 0x5557fb78
jmp 0x40e813
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x64]
mov ax, word [eax]
mov word [ebp - 0x2e], ax
mov dword [ebp - 0x98], 0x6be3d739
jmp 0x40e813
mov ax, word [ebp - 0x2e]
movzx eax, ax
imul edx, eax, 0x28
mov ecx, dword [ebp - 0x34]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x437be8
call fcn.0042bdd0
add esp, 8
mov edx, eax
mov eax, 0x26edbb0
mov ecx, 0x92c31591
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov eax, dword [ebp - 0x5c]
mov dword [eax], 0
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x98], 0xd2fb40fd
jmp 0x40e813
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x9c42b9ba
add edx, eax
add edx, 0x9c42b9ba
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x2c]
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 - 0x58]
mov byte [eax], cl
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x60]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x60]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x98], 0x56d1aeaa
jmp 0x40e813
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00428630
add esp, 0xc
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov esi, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0x54111b8e
add esi, eax
sub esi, 0x54111b8e
mov eax, dword [ebp - 0x5c]
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 - 0x58]
mov byte [eax], cl
mov dword [ebp - 0x98], 0x92c31591
jmp 0x40e813
mov ecx, dword [0x43f57c]
mov eax, dword [0x43f578]
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, 0xb9b74ac6
mov ecx, 0x54f13fd0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov eax, dword [0x43f57c]
mov ecx, dword [0x43f578]
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, 0xb9b74ac6
mov ecx, 0x63518e88
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov dword [ebp - 0x98], 0xb38b397b
jmp 0x40e813
mov eax, dword [ebp - 0x64]
mov ax, word [eax]
mov word [ebp - 0x18], ax
mov dword [ebp - 0x98], 0x79f65c3a
jmp 0x40e813
mov ax, word [ebp - 0x18]
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 - 0x98], 0xa954b71f
jmp 0x40e813
mov eax, dword [ebp - 0x64]
mov cx, word [ebp - 0x16]
mov word [eax], cx
mov dword [ebp - 0x98], 0xda06eb8e
jmp 0x40e813
mov eax, dword [0x43f57c]
mov ecx, dword [0x43f578]
mov edx, eax
sub edx, 0x61b2f8c7
sub edx, 1
add edx, 0x61b2f8c7
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, 0x3a1a266d
mov ecx, 0xa6eed13a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [0x43f57c]
mov ecx, dword [0x43f578]
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, 0x3a1a266d
mov ecx, 0x202cd38f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40e813
mov dword [ebp - 0x98], 0xc5a1d33f
jmp 0x40e813
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x98], 0xc9df3d01
jmp 0x40e813
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0xbdccabae
jmp 0x40e813
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.004277e0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x98], 0x746eb7ad
jmp 0x40e813
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.004284d0
add esp, 0xc
mov eax, dword [ebp - 0x90]
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 - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x98], 0x9610cd79
jmp 0x40e813
mov eax, dword [ebp - 0x78]
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 - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x98], 0xf80b2e66
jmp 0x40e813
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x98], 0x60bae60f
jmp 0x40e813
mov dword [ebp - 0x98], 0x5fdd8cf9
jmp 0x40e813
mov eax, dword [ebp - 0x64]
mov word [eax], 0
mov dword [ebp - 0x98], 0x5d8efa00
jmp 0x40e813
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x98], 0x69998536
jmp 0x40e813
mov dword [ebp - 0x98], 0x54f13fd0
jmp 0x40e813
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x98], 0xa6eed13a
jmp 0x40d46f