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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xa4
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa8], eax
mov eax, dword [0x43f080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x440554]
mov eax, dword [0x440550]
mov edx, ecx
add edx, 0x966aa687
sub edx, 1
sub edx, 0x966aa687
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], 0x6be4be81
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xac], eax
sub eax, 0x802f5b22
je 0x40e397
jmp 0x40d543
mov eax, dword [ebp - 0xac]
sub eax, 0x811878e1
je 0x40ed0a
jmp 0x40d559
mov eax, dword [ebp - 0xac]
sub eax, 0x820093f5
je 0x40ef5b
jmp 0x40d56f
mov eax, dword [ebp - 0xac]
sub eax, 0x84c3a91f
je 0x40dfda
jmp 0x40d585
mov eax, dword [ebp - 0xac]
sub eax, 0x87f126e9
je 0x40e48a
jmp 0x40d59b
mov eax, dword [ebp - 0xac]
sub eax, 0x8ac93824
je 0x40e4d3
jmp 0x40d5b1
mov eax, dword [ebp - 0xac]
sub eax, 0x8c4ffb41
je 0x40ee16
jmp 0x40d5c7
mov eax, dword [ebp - 0xac]
sub eax, 0x914b4033
je 0x40e7d0
jmp 0x40d5dd
mov eax, dword [ebp - 0xac]
sub eax, 0x952d533f
je 0x40ee64
jmp 0x40d5f3
mov eax, dword [ebp - 0xac]
sub eax, 0x9719ea9d
je 0x40e9fd
jmp 0x40d609
mov eax, dword [ebp - 0xac]
sub eax, 0xa2e979c2
je 0x40ead1
jmp 0x40d61f
mov eax, dword [ebp - 0xac]
sub eax, 0xaba69975
je 0x40ea8e
jmp 0x40d635
mov eax, dword [ebp - 0xac]
sub eax, 0xabfa1585
je 0x40ef89
jmp 0x40d64b
mov eax, dword [ebp - 0xac]
sub eax, 0xb7631767
je 0x40e53d
jmp 0x40d661
mov eax, dword [ebp - 0xac]
sub eax, 0xb85116cf
je 0x40e05f
jmp 0x40d677
mov eax, dword [ebp - 0xac]
sub eax, 0xb89b500a
je 0x40dfe9
jmp 0x40d68d
mov eax, dword [ebp - 0xac]
sub eax, 0xb9230579
je 0x40edde
jmp 0x40d6a3
mov eax, dword [ebp - 0xac]
sub eax, 0xb9f800db
je 0x40ed96
jmp 0x40d6b9
mov eax, dword [ebp - 0xac]
sub eax, 0xbdd7ff2a
je 0x40dd76
jmp 0x40d6cf
mov eax, dword [ebp - 0xac]
sub eax, 0xbdeb830e
je 0x40ed87
jmp 0x40d6e5
mov eax, dword [ebp - 0xac]
sub eax, 0xc16ba8f9
je 0x40e75a
jmp 0x40d6fb
mov eax, dword [ebp - 0xac]
sub eax, 0xc4c843f4
je 0x40e52e
jmp 0x40d711
mov eax, dword [ebp - 0xac]
sub eax, 0xcc14fe35
je 0x40eed5
jmp 0x40d727
mov eax, dword [ebp - 0xac]
sub eax, 0xd0bbd214
je 0x40e0dc
jmp 0x40d73d
mov eax, dword [ebp - 0xac]
sub eax, 0xd47acd0f
je 0x40ed76
jmp 0x40d753
mov eax, dword [ebp - 0xac]
sub eax, 0xdc760e19
je 0x40e0f6
jmp 0x40d769
mov eax, dword [ebp - 0xac]
sub eax, 0xdc895844
je 0x40ddde
jmp 0x40d77f
mov eax, dword [ebp - 0xac]
sub eax, 0xe18a9bb7
je 0x40e640
jmp 0x40d795
mov eax, dword [ebp - 0xac]
sub eax, 0xe430ba8d
je 0x40e74b
jmp 0x40d7ab
mov eax, dword [ebp - 0xac]
sub eax, 0xe836abe4
je 0x40e64f
jmp 0x40d7c1
mov eax, dword [ebp - 0xac]
sub eax, 0xe978a29c
je 0x40e872
jmp 0x40d7d7
mov eax, dword [ebp - 0xac]
sub eax, 0xec7c1a48
je 0x40eb22
jmp 0x40d7ed
mov eax, dword [ebp - 0xac]
sub eax, 0xef1a68f2
je 0x40de91
jmp 0x40d803
mov eax, dword [ebp - 0xac]
sub eax, 0xf27553ae
je 0x40e1f1
jmp 0x40d819
mov eax, dword [ebp - 0xac]
sub eax, 0xfd6b5609
je 0x40e5cb
jmp 0x40d82f
mov eax, dword [ebp - 0xac]
sub eax, 0x42bdd4d
je 0x40ef74
jmp 0x40d845
mov eax, dword [ebp - 0xac]
sub eax, 0x682554c
je 0x40dd85
jmp 0x40d85b
mov eax, dword [ebp - 0xac]
sub eax, 0x6fca4d2
je 0x40ee77
jmp 0x40d871
mov eax, dword [ebp - 0xac]
sub eax, 0x7ec91c2
je 0x40e16c
jmp 0x40d887
mov eax, dword [ebp - 0xac]
sub eax, 0x945f969
je 0x40eb75
jmp 0x40d89d
mov eax, dword [ebp - 0xac]
sub eax, 0xaeaef06
je 0x40dea0
jmp 0x40d8b3
mov eax, dword [ebp - 0xac]
sub eax, 0xafec28f
je 0x40e3a6
jmp 0x40d8c9
mov eax, dword [ebp - 0xac]
sub eax, 0xb350f29
je 0x40eaa7
jmp 0x40d8df
mov eax, dword [ebp - 0xac]
sub eax, 0xea21e30
je 0x40eb84
jmp 0x40d8f5
mov eax, dword [ebp - 0xac]
sub eax, 0x10d56853
je 0x40e47b
jmp 0x40d90b
mov eax, dword [ebp - 0xac]
sub eax, 0x1336e033
je 0x40e6bd
jmp 0x40d921
mov eax, dword [ebp - 0xac]
sub eax, 0x13eb263d
je 0x40dccc
jmp 0x40d937
mov eax, dword [ebp - 0xac]
sub eax, 0x1ab5f495
je 0x40ec94
jmp 0x40d94d
mov eax, dword [ebp - 0xac]
sub eax, 0x1dda5629
je 0x40e854
jmp 0x40d963
mov eax, dword [ebp - 0xac]
sub eax, 0x1ea9309b
je 0x40e9a0
jmp 0x40d979
mov eax, dword [ebp - 0xac]
sub eax, 0x1f769559
je 0x40e9af
jmp 0x40d98f
mov eax, dword [ebp - 0xac]
sub eax, 0x230af7de
je 0x40df30
jmp 0x40d9a5
mov eax, dword [ebp - 0xac]
sub eax, 0x27d39dcc
je 0x40ea7f
jmp 0x40d9bb
mov eax, dword [ebp - 0xac]
sub eax, 0x29f5fb7f
je 0x40ed67
jmp 0x40d9d1
mov eax, dword [ebp - 0xac]
sub eax, 0x32ae82b1
je 0x40deba
jmp 0x40d9e7
mov eax, dword [ebp - 0xac]
sub eax, 0x37201311
je 0x40e265
jmp 0x40d9fd
mov eax, dword [ebp - 0xac]
sub eax, 0x3bf42bfa
je 0x40e20f
jmp 0x40da13
mov eax, dword [ebp - 0xac]
sub eax, 0x3c67cea7
je 0x40e200
jmp 0x40da29
mov eax, dword [ebp - 0xac]
sub eax, 0x3df449b9
je 0x40ec65
jmp 0x40da3f
mov eax, dword [ebp - 0xac]
sub eax, 0x42f67347
je 0x40e0be
jmp 0x40da55
mov eax, dword [ebp - 0xac]
sub eax, 0x4981c91f
je 0x40e55d
jmp 0x40da6b
mov eax, dword [ebp - 0xac]
sub eax, 0x49e9c915
je 0x40eee7
jmp 0x40da81
mov eax, dword [ebp - 0xac]
sub eax, 0x548777d5
je 0x40edf8
jmp 0x40da97
mov eax, dword [ebp - 0xac]
sub eax, 0x5903f2fd
je 0x40ebd5
jmp 0x40daad
mov eax, dword [ebp - 0xac]
sub eax, 0x5a6d7d03
je 0x40e3f7
push eax
mov eax, esp
mov dword [ebp - 0x70], eax
mov dword [ebp - 0xa4], 0x6e48ba33
jmp 0x40efa7
mov dword [ebp - 0xa4], 0xd47acd0f
jmp 0x40efa7
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 ecx, dword [eax]
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0xa4], 0xdc895844
jmp 0x40efa7
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x60]
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 - 0x88]
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 - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x59], al
mov dword [ebp - 0xa4], 0x7ccacafb
jmp 0x40efa7
mov dword [ebp - 0xa4], 0xd47acd0f
jmp 0x40efa7
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0xa4], 0x32ae82b1
jmp 0x40efa7
mov ecx, dword [0x440554]
mov eax, dword [0x440550]
mov edx, ecx
add edx, 0x2da6ec11
sub edx, 1
sub edx, 0x2da6ec11
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, 0xb9f800db
mov ecx, 0x230af7de
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov eax, dword [ebp - 0x58]
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 - 0x54], eax
mov ecx, dword [0x440554]
mov eax, dword [0x440550]
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, 0xb9f800db
mov ecx, 0x84c3a91f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov dword [ebp - 0xa4], 0xb89b500a
jmp 0x40efa7
mov ecx, dword [0x440554]
mov eax, dword [0x440550]
mov edx, ecx
add edx, 0x69ce9106
sub edx, 1
sub edx, 0x69ce9106
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, 0xb9230579
mov ecx, 0xb85116cf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x4d], al
mov eax, dword [0x440554]
mov ecx, dword [0x440550]
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, 0xb9230579
mov ecx, 0x42f67347
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov dl, byte [ebp - 0x4d]
mov eax, 0xd0bbd214
mov ecx, 0x3bf42bfa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0xa4], 0xdc760e19
jmp 0x40efa7
mov ecx, dword [0x440554]
mov eax, dword [0x440550]
mov edx, ecx
sub edx, 0x1d0ed684
sub edx, 1
add edx, 0x1d0ed684
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, 0x548777d5
mov ecx, 0x7ec91c2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x440554]
mov eax, dword [0x440550]
mov edx, ecx
sub edx, 0xfe1dac90
sub edx, 1
add edx, 0xfe1dac90
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, 0x548777d5
mov ecx, 0xf27553ae
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov dword [ebp - 0xa4], 0x3c67cea7
jmp 0x40efa7
mov dword [ebp - 0xa4], 0xd47acd0f
jmp 0x40efa7
mov eax, dword [ebp - 0x80]
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 - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov dword [ebp - 0xa4], 0x37201311
jmp 0x40efa7
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0xa4], 0x5fdef657
jmp 0x40efa7
mov dword [ebp - 0xa4], 0xafec28f
jmp 0x40efa7
mov eax, dword [0x440554]
mov ecx, dword [0x440550]
mov edx, eax
add edx, 0x2c31aafe
sub edx, 1
sub edx, 0x2c31aafe
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, 0x5e87bfa0
mov ecx, 0x5a6d7d03
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov dword [ebp - 0xa4], 0x87f126e9
jmp 0x40efa7
mov eax, dword [0x440554]
mov ecx, dword [0x440550]
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, 0x952d533f
mov ecx, 0x8ac93824
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov ax, word [ebp - 0x3a]
movzx eax, ax
mov dword [ebp - 0x38], eax
mov eax, dword [0x440554]
mov ecx, dword [0x440550]
mov edx, eax
sub edx, 0xc8c2c233
sub edx, 1
add edx, 0xc8c2c233
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, 0x952d533f
mov ecx, 0xc4c843f4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov dword [ebp - 0xa4], 0xb7631767
jmp 0x40efa7
mov edx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x38]
mov eax, 0xea21e30
mov ecx, 0x4981c91f
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov ecx, dword [0x440554]
mov eax, dword [0x440550]
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, 0x6fca4d2
mov ecx, 0xfd6b5609
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
add eax, 0x9c39f072
add eax, 0x18
sub eax, 0x9c39f072
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 - 0x34], eax
mov eax, dword [0x440554]
mov ecx, dword [0x440550]
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, 0x6fca4d2
mov ecx, 0xe18a9bb7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov dword [ebp - 0xa4], 0xe836abe4
jmp 0x40efa7
mov ecx, dword [0x440554]
mov eax, dword [0x440550]
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, 0x5f69c3e9
mov ecx, 0x1336e033
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov ecx, dword [ebp - 0x34]
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 eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x438c08
call fcn.0042d230
add esp, 8
mov dword [ebp - 0x30], eax
mov eax, dword [0x440554]
mov ecx, dword [0x440550]
mov edx, eax
add edx, 0x2ac08684
sub edx, 1
sub edx, 0x2ac08684
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, 0x5f69c3e9
mov ecx, 0xe430ba8d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov dword [ebp - 0xa4], 0xc16ba8f9
jmp 0x40efa7
mov ecx, dword [0x440554]
mov eax, dword [0x440550]
mov edx, ecx
add edx, 0x1aacfbcc
sub edx, 1
sub edx, 0x1aacfbcc
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, 0xcc14fe35
mov ecx, 0x914b4033
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov eax, dword [ebp - 0x30]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x29], al
mov ecx, dword [0x440554]
mov eax, dword [0x440550]
mov edx, ecx
sub edx, 0xa15a036c
sub edx, 1
add edx, 0xa15a036c
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, 0xcc14fe35
mov ecx, 0x1dda5629
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov dl, byte [ebp - 0x29]
mov eax, 0xe978a29c
mov ecx, 0x27d39dcc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov eax, dword [0x440554]
mov ecx, dword [0x440550]
mov edx, eax
add edx, 0xfec05d32
sub edx, 1
sub edx, 0xfec05d32
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, 0x49e9c915
mov ecx, 0x6216ecf8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov dword [ebp - 0xa4], 0x1f769559
jmp 0x40efa7
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x28]
sub eax, 0x8760cbbc
add eax, ecx
add eax, 0x8760cbbc
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x6c]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
sub eax, 0xaae4db00
add eax, ecx
add eax, 0xaae4db00
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xa4], 0x9719ea9d
jmp 0x40efa7
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00429a80
add esp, 0xc
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x8c]
mov esi, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0x60d8bdc4
add esi, eax
add esi, 0x60d8bdc4
mov eax, dword [ebp - 0x68]
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 dword [ebp - 0xa4], 0x27d39dcc
jmp 0x40efa7
mov dword [ebp - 0xa4], 0xaba69975
jmp 0x40efa7
mov eax, dword [ebp - 0x70]
mov ax, word [eax]
mov word [ebp - 0x14], ax
mov dword [ebp - 0xa4], 0xb350f29
jmp 0x40efa7
mov ax, word [ebp - 0x14]
xor ecx, ecx
sub cx, ax
xor eax, eax
sub ax, 1
add cx, ax
xor eax, eax
sub ax, cx
mov word [ebp - 0x12], ax
mov dword [ebp - 0xa4], 0xa2e979c2
jmp 0x40efa7
mov eax, dword [0x440554]
mov ecx, dword [0x440550]
mov edx, eax
sub edx, 0xeb8d9b25
sub edx, 1
add edx, 0xeb8d9b25
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, 0x820093f5
mov ecx, 0xec7c1a48
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov eax, dword [ebp - 0x70]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov eax, dword [0x440554]
mov ecx, dword [0x440550]
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, 0x820093f5
mov ecx, 0x945f969
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov dword [ebp - 0xa4], 0xafec28f
jmp 0x40efa7
mov eax, dword [0x440554]
mov ecx, dword [0x440550]
mov edx, eax
add edx, 0xe2b23295
sub edx, 1
sub edx, 0xe2b23295
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, 0x42bdd4d
mov ecx, 0x5903f2fd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov ecx, dword [0x440554]
mov eax, dword [0x440550]
mov edx, ecx
sub edx, 0x42b15330
sub edx, 1
add edx, 0x42b15330
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, 0x42bdd4d
mov ecx, 0x7e6dce05
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa4], 0x1ab5f495
jmp 0x40efa7
mov ecx, dword [0x440554]
mov eax, dword [0x440550]
mov edx, ecx
add edx, 0xc1283627
sub edx, 1
sub edx, 0xc1283627
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, 0xabfa1585
mov ecx, 0x811878e1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x440554]
mov ecx, dword [0x440550]
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, 0xabfa1585
mov ecx, 0x29f5fb7f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40efa7
mov dword [ebp - 0xa4], 0xd47acd0f
jmp 0x40efa7
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00428c30
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0xa4], 0x677ea7e7
jmp 0x40efa7
mov eax, dword [ebp - 0x58]
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], 0x230af7de
jmp 0x40efa7
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa4], 0xb85116cf
jmp 0x40efa7
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa4], 0x7ec91c2
jmp 0x40efa7
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x48]
add ecx, 0x38d024b1
add ecx, eax
sub ecx, 0x38d024b1
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov word [eax], 0
mov dword [ebp - 0xa4], 0x5faaeda1
jmp 0x40efa7
mov ax, word [ebp - 0x3a]
mov dword [ebp - 0xa4], 0x8ac93824
jmp 0x40efa7
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xa4], 0xfd6b5609
jmp 0x40efa7
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0xa4], 0x914b4033
jmp 0x40efa7
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 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 - 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 cl
and cl, 1
mov eax, dword [ebp - 0x64]
mov byte [eax], cl
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xa4], 0x6216ecf8
jmp 0x40efa7
mov eax, dword [ebp - 0x70]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov dword [ebp - 0xa4], 0xec7c1a48
jmp 0x40efa7
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xa4], 0x5903f2fd
jmp 0x40efa7
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa4], 0x811878e1
jmp 0x40d527