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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x8c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x90], eax
mov eax, dword [0x43f080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x8c], 0x29a6aa8
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x94], eax
sub eax, 0x8182cf5f
je 0x40eb4a
jmp 0x40e5d4
mov eax, dword [ebp - 0x94]
sub eax, 0x880df96c
je 0x40f564
jmp 0x40e5ea
mov eax, dword [ebp - 0x94]
sub eax, 0x8ac735f7
je 0x40ebcf
jmp 0x40e600
mov eax, dword [ebp - 0x94]
sub eax, 0x98037706
je 0x40f30c
jmp 0x40e616
mov eax, dword [ebp - 0x94]
sub eax, 0x9a91ddac
je 0x40ec20
jmp 0x40e62c
mov eax, dword [ebp - 0x94]
sub eax, 0xa6e2ac31
je 0x40f4db
jmp 0x40e642
mov eax, dword [ebp - 0x94]
sub eax, 0xaba02cc1
je 0x40ef31
jmp 0x40e658
mov eax, dword [ebp - 0x94]
sub eax, 0xb26ec7b2
je 0x40ecd0
jmp 0x40e66e
mov eax, dword [ebp - 0x94]
sub eax, 0xb558acd6
je 0x40f510
jmp 0x40e684
mov eax, dword [ebp - 0x94]
sub eax, 0xc7a1a154
je 0x40ec9f
jmp 0x40e69a
mov eax, dword [ebp - 0x94]
sub eax, 0xca9e95d6
je 0x40f0a2
jmp 0x40e6b0
mov eax, dword [ebp - 0x94]
sub eax, 0xcb60b15d
je 0x40f43c
jmp 0x40e6c6
mov eax, dword [ebp - 0x94]
sub eax, 0xdc315116
je 0x40f364
jmp 0x40e6dc
mov eax, dword [ebp - 0x94]
sub eax, 0xdc5cb88c
je 0x40ef40
jmp 0x40e6f2
mov eax, dword [ebp - 0x94]
sub eax, 0xdebad6f1
je 0x40f4f2
jmp 0x40e708
mov eax, dword [ebp - 0x94]
sub eax, 0xe6d8f883
je 0x40f10a
jmp 0x40e71e
mov eax, dword [ebp - 0x94]
sub eax, 0xe8f5d10e
je 0x40ed1d
jmp 0x40e734
mov eax, dword [ebp - 0x94]
sub eax, 0xede37e04
je 0x40f573
jmp 0x40e74a
mov eax, dword [ebp - 0x94]
sub eax, 0xef9fd1c4
je 0x40f12e
jmp 0x40e760
mov eax, dword [ebp - 0x94]
sub eax, 0xf09bda08
je 0x40eeac
jmp 0x40e776
mov eax, dword [ebp - 0x94]
sub eax, 0xf0f35aee
je 0x40ed42
jmp 0x40e78c
mov eax, dword [ebp - 0x94]
sub eax, 0xf62b0a72
je 0x40f5fc
jmp 0x40e7a2
mov eax, dword [ebp - 0x94]
sub eax, 0x2883c84
je 0x40f4cc
jmp 0x40e7b8
mov eax, dword [ebp - 0x94]
sub eax, 0x29a6aa8
je 0x40ea25
jmp 0x40e7ce
mov eax, dword [ebp - 0x94]
sub eax, 0x40eb85b
je 0x40eb59
jmp 0x40e7e4
mov eax, dword [ebp - 0x94]
sub eax, 0x47af4f2
je 0x40efbd
jmp 0x40e7fa
mov eax, dword [ebp - 0x94]
sub eax, 0x6b21d72
je 0x40ee4c
jmp 0x40e810
mov eax, dword [ebp - 0x94]
sub eax, 0xaf03d0a
je 0x40f0b9
jmp 0x40e826
mov eax, dword [ebp - 0x94]
sub eax, 0xfa37325
je 0x40f1cd
jmp 0x40e83c
mov eax, dword [ebp - 0x94]
sub eax, 0x1a34aa8c
je 0x40f31b
jmp 0x40e852
mov eax, dword [ebp - 0x94]
sub eax, 0x1b3c0826
je 0x40f4bd
jmp 0x40e868
mov eax, dword [ebp - 0x94]
sub eax, 0x1dd85d64
je 0x40ee63
jmp 0x40e87e
mov eax, dword [ebp - 0x94]
sub eax, 0x231eb467
je 0x40f195
jmp 0x40e894
mov eax, dword [ebp - 0x94]
sub eax, 0x2529a1ef
je 0x40ea76
jmp 0x40e8aa
mov eax, dword [ebp - 0x94]
sub eax, 0x2a23a40c
je 0x40f3f3
jmp 0x40e8c0
mov eax, dword [ebp - 0x94]
sub eax, 0x2b66b11b
je 0x40f591
jmp 0x40e8d6
mov eax, dword [ebp - 0x94]
sub eax, 0x2f4a64f9
je 0x40f0d0
jmp 0x40e8ec
mov eax, dword [ebp - 0x94]
sub eax, 0x3432239c
je 0x40f093
jmp 0x40e902
mov eax, dword [ebp - 0x94]
sub eax, 0x3483c9bc
je 0x40edb8
jmp 0x40e918
mov eax, dword [ebp - 0x94]
sub eax, 0x3a15a125
je 0x40f3e4
jmp 0x40e92e
mov eax, dword [ebp - 0x94]
sub eax, 0x4551af0f
je 0x40ebde
jmp 0x40e944
mov eax, dword [ebp - 0x94]
sub eax, 0x45df5977
je 0x40ecc1
jmp 0x40e95a
mov eax, dword [ebp - 0x94]
sub eax, 0x57802827
je 0x40f20c
jmp 0x40e970
mov eax, dword [ebp - 0x94]
sub eax, 0x58e9e7b3
je 0x40f5ea
jmp 0x40e986
mov eax, dword [ebp - 0x94]
sub eax, 0x64759c74
je 0x40ee2e
jmp 0x40e99c
mov eax, dword [ebp - 0x94]
sub eax, 0x68926f18
je 0x40f555
jmp 0x40e9b2
mov eax, dword [ebp - 0x94]
sub eax, 0x68f67353
je 0x40f16d
jmp 0x40e9c8
mov eax, dword [ebp - 0x94]
sub eax, 0x6d344205
je 0x40f272
jmp 0x40e9de
mov eax, dword [ebp - 0x94]
sub eax, 0x7b65fc44
je 0x40f544
jmp 0x40e9f4
mov eax, dword [ebp - 0x94]
sub eax, 0x7c23279a
je 0x40f0f0
jmp 0x40ea0a
mov eax, dword [ebp - 0x94]
sub eax, 0x7d9465d3
je 0x40ef4f
jmp 0x40ea20
jmp 0x40f626
mov eax, dword [0x440534]
mov ecx, dword [0x440530]
mov edx, eax
sub edx, 0x26af3445
sub edx, 1
add edx, 0x26af3445
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, 0x68926f18
mov ecx, 0x2529a1ef
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40f626
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
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 ecx, dword [0x440534]
mov eax, dword [0x440530]
mov edx, ecx
add edx, 0x8a83854e
sub edx, 1
sub edx, 0x8a83854e
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, 0x68926f18
mov ecx, 0x8182cf5f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40f626
mov dword [ebp - 0x8c], 0x40eb85b
jmp 0x40f626
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x88], eax
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.004283d0
add esp, 0xc
mov eax, dword [ebp - 0x88]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x7c]
mov eax, 0x8ac735f7
mov ecx, 0x4551af0f
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40f626
mov dword [ebp - 0x8c], 0x7b65fc44
jmp 0x40f626
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
mov eax, dword [ebp - 0x80]
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 eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x8c], 0x9a91ddac
jmp 0x40f626
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x4c]
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 dword [ebp - 0x8c], 0xc7a1a154
jmp 0x40f626
mov edx, dword [ebp - 0x70]
mov esi, 0xffffffff
mov eax, 0xb26ec7b2
mov ecx, 0x45df5977
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40f626
mov dword [ebp - 0x8c], 0x7b65fc44
jmp 0x40f626
mov eax, dword [ebp - 0x70]
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 dword [ebp - 0x48], eax
mov dword [ebp - 0x8c], 0xe8f5d10e
jmp 0x40f626
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x41], al
mov dword [ebp - 0x8c], 0xf0f35aee
jmp 0x40f626
mov ecx, dword [0x440534]
mov eax, dword [0x440530]
mov edx, ecx
add edx, 0x3d4bb2e6
sub edx, 1
sub edx, 0x3d4bb2e6
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, 0x880df96c
mov ecx, 0x3483c9bc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40f626
mov ecx, dword [0x440534]
mov eax, dword [0x440530]
mov edx, ecx
add edx, 0x73bc9792
sub edx, 1
sub edx, 0x73bc9792
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, 0x880df96c
mov ecx, 0x64759c74
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40f626
mov dl, byte [ebp - 0x41]
mov eax, 0x6b21d72
mov ecx, 0x7d9465d3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40f626
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x8c], 0x1dd85d64
jmp 0x40f626
mov eax, dword [0x440534]
mov ecx, dword [0x440530]
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, 0xede37e04
mov ecx, 0xf09bda08
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40f626
mov eax, dword [ebp - 0x40]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x440534]
mov eax, dword [0x440530]
mov edx, ecx
add edx, 0x5922c444
sub edx, 1
sub edx, 0x5922c444
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, 0xede37e04
mov ecx, 0xaba02cc1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40f626
mov dword [ebp - 0x8c], 0xdc5cb88c
jmp 0x40f626
mov dword [ebp - 0x8c], 0x7b65fc44
jmp 0x40f626
mov ecx, dword [0x440534]
mov eax, dword [0x440530]
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, 0x2b66b11b
mov ecx, 0x47af4f2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40f626
mov eax, dword [ebp - 0x6c]
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 - 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 eax, dword [eax]
mov ecx, dword [ebp - 0x64]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x3c]
add eax, 0xc01517de
add eax, ecx
sub eax, 0xc01517de
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x440534]
mov eax, dword [0x440530]
mov edx, ecx
add edx, 0xf97de8d4
sub edx, 1
sub edx, 0xf97de8d4
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, 0x2b66b11b
mov ecx, 0x3432239c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40f626
mov dword [ebp - 0x8c], 0xca9e95d6
jmp 0x40f626
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
mov dword [ebp - 0x8c], 0xaf03d0a
jmp 0x40f626
mov eax, dword [ebp - 0x5c]
mov word [eax], 0
mov dword [ebp - 0x8c], 0x2f4a64f9
jmp 0x40f626
mov eax, dword [ebp - 0x5c]
movzx eax, word [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x8c], 0x7c23279a
jmp 0x40f626
mov eax, dword [ebp - 0x34]
mov ax, word [eax + 6]
mov word [ebp - 0x2e], ax
mov dword [ebp - 0x8c], 0xe6d8f883
jmp 0x40f626
mov ax, word [ebp - 0x2e]
movzx esi, ax
mov edx, dword [ebp - 0x38]
mov eax, 0xa6e2ac31
mov ecx, 0xef9fd1c4
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40f626
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
add eax, 0x16a29bcb
add eax, 0x18
sub eax, 0x16a29bcb
mov ecx, dword [ebp - 0x60]
mov ecx, dword [ecx]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x5c]
movzx eax, word [eax]
imul eax, eax, 0x28
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x8c], 0x68f67353
jmp 0x40f626
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
add ecx, 0x92fbb49f
add ecx, eax
sub ecx, 0x92fbb49f
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov dword [ebp - 0x8c], 0x231eb467
jmp 0x40f626
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x43809a
call fcn.0042bcd0
add esp, 8
mov edx, eax
mov eax, 0xfa37325
mov ecx, 0x98037706
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40f626
mov eax, dword [ebp - 0x54]
mov dword [eax], 0
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
add eax, 0x1f1f46db
add eax, ecx
sub eax, 0x1f1f46db
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x8c], 0x57802827
jmp 0x40f626
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
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 eax, dword [eax]
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
sub eax, 0x89f93b9d
add eax, ecx
add eax, 0x89f93b9d
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x8c], 0x6d344205
jmp 0x40f626
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x18]
add ecx, 0xf23766c5
add ecx, eax
sub ecx, 0xf23766c5
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x1c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00428530
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, 0x108016b6
add esi, eax
sub esi, 0x108016b6
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 cl
and cl, 1
mov eax, dword [ebp - 0x50]
mov byte [eax], cl
mov dword [ebp - 0x8c], 0x98037706
jmp 0x40f626
mov dword [ebp - 0x8c], 0x1a34aa8c
jmp 0x40f626
mov eax, dword [0x440534]
mov ecx, dword [0x440530]
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, 0x58e9e7b3
mov ecx, 0xdc315116
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40f626
mov eax, dword [ebp - 0x5c]
mov ax, word [eax]
mov word [ebp - 0x12], ax
mov ecx, dword [0x440534]
mov eax, dword [0x440530]
mov edx, ecx
sub edx, 0xa81842c9
sub edx, 1
add edx, 0xa81842c9
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, 0x58e9e7b3
mov ecx, 0x3a15a125
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40f626
mov dword [ebp - 0x8c], 0x2a23a40c
jmp 0x40f626
mov eax, dword [0x440534]
mov ecx, dword [0x440530]
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, 0xf62b0a72
mov ecx, 0xcb60b15d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40f626
mov cx, word [ebp - 0x12]
xor eax, eax
sub ax, 1
sub cx, ax
mov eax, dword [ebp - 0x5c]
mov word [eax], cx
mov ecx, dword [0x440534]
mov eax, dword [0x440530]
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, 0xf62b0a72
mov ecx, 0x1b3c0826
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40f626
mov dword [ebp - 0x8c], 0x2883c84
jmp 0x40f626
mov dword [ebp - 0x8c], 0x2f4a64f9
jmp 0x40f626
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x8c], 0xdebad6f1
jmp 0x40f626
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8c], 0xb558acd6
jmp 0x40f626
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8c], 0x7b65fc44
jmp 0x40f626
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.004276e0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x8c], 0x2529a1ef
jmp 0x40f626
mov dword [ebp - 0x8c], 0x3483c9bc
jmp 0x40f626
mov eax, dword [ebp - 0x40]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8c], 0xf09bda08
jmp 0x40f626
mov eax, dword [ebp - 0x6c]
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 - 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 eax, dword [ebp - 0x64]
mov dword [ebp - 0x8c], 0x47af4f2
jmp 0x40f626
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x8c], 0xdc315116
jmp 0x40f626
mov ax, word [ebp - 0x12]
mov ax, word [ebp - 0x12]
mov cx, word [ebp - 0x12]
add cx, 0xe3f0
add cx, 1
sub cx, 0xe3f0
mov eax, dword [ebp - 0x5c]
mov word [eax], cx
mov dword [ebp - 0x8c], 0xcb60b15d
jmp 0x40e5b8