Function at 0x40c4e0
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 [0x43f080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x440584]
mov eax, dword [0x440580]
mov edx, ecx
add edx, 0xade6cd0d
sub edx, 1
sub edx, 0xade6cd0d
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], 0xa8d6db58
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa8], eax
sub eax, 0x81a34ffb
je 0x40d648
jmp 0x40c563
mov eax, dword [ebp - 0xa8]
sub eax, 0x826ca251
je 0x40d6c9
jmp 0x40c579
mov eax, dword [ebp - 0xa8]
sub eax, 0x86a507dd
je 0x40dad7
jmp 0x40c58f
mov eax, dword [ebp - 0xa8]
sub eax, 0x89ad23a2
je 0x40cfac
jmp 0x40c5a5
mov eax, dword [ebp - 0xa8]
sub eax, 0x91902acd
je 0x40ccd4
jmp 0x40c5bb
mov eax, dword [ebp - 0xa8]
sub eax, 0x92b1f23b
je 0x40dc9a
jmp 0x40c5d1
mov eax, dword [ebp - 0xa8]
sub eax, 0x946fe2a4
je 0x40de11
jmp 0x40c5e7
mov eax, dword [ebp - 0xa8]
sub eax, 0x98db6086
je 0x40de35
jmp 0x40c5fd
mov eax, dword [ebp - 0xa8]
sub eax, 0xa81b6ac9
je 0x40d25b
jmp 0x40c613
mov eax, dword [ebp - 0xa8]
sub eax, 0xa8d6db58
je 0x40cbda
jmp 0x40c629
mov eax, dword [ebp - 0xa8]
sub eax, 0xabb928ed
je 0x40d7f3
jmp 0x40c63f
mov eax, dword [ebp - 0xa8]
sub eax, 0xacd068f0
je 0x40ce13
jmp 0x40c655
mov eax, dword [ebp - 0xa8]
sub eax, 0xad329b2d
je 0x40dc68
jmp 0x40c66b
mov eax, dword [ebp - 0xa8]
sub eax, 0xb29fd0b8
je 0x40d790
jmp 0x40c681
mov eax, dword [ebp - 0xa8]
sub eax, 0xb55e3537
je 0x40cd1d
jmp 0x40c697
mov eax, dword [ebp - 0xa8]
sub eax, 0xb833605d
je 0x40de20
jmp 0x40c6ad
mov eax, dword [ebp - 0xa8]
sub eax, 0xb937cf84
je 0x40d8ee
jmp 0x40c6c3
mov eax, dword [ebp - 0xa8]
sub eax, 0xbbf34988
je 0x40d23d
jmp 0x40c6d9
mov eax, dword [ebp - 0xa8]
sub eax, 0xc70c21f1
je 0x40d408
jmp 0x40c6ef
mov eax, dword [ebp - 0xa8]
sub eax, 0xd3afa765
je 0x40d19a
jmp 0x40c705
mov eax, dword [ebp - 0xa8]
sub eax, 0xd761c017
je 0x40dc10
jmp 0x40c71b
mov eax, dword [ebp - 0xa8]
sub eax, 0xde94b93f
je 0x40dddc
jmp 0x40c731
mov eax, dword [ebp - 0xa8]
sub eax, 0xe1ac0a79
je 0x40dd71
jmp 0x40c747
mov eax, dword [ebp - 0xa8]
sub eax, 0xe5c8ae21
je 0x40d6d8
jmp 0x40c75d
mov eax, dword [ebp - 0xa8]
sub eax, 0xea7601db
je 0x40d4d7
jmp 0x40c773
mov eax, dword [ebp - 0xa8]
sub eax, 0xeb812ad2
je 0x40dc57
jmp 0x40c789
mov eax, dword [ebp - 0xa8]
sub eax, 0xeebe6db9
je 0x40ce81
jmp 0x40c79f
mov eax, dword [ebp - 0xa8]
sub eax, 0xef1debc0
je 0x40dcf6
jmp 0x40c7b5
mov eax, dword [ebp - 0xa8]
sub eax, 0xf370a391
je 0x40d486
jmp 0x40c7cb
mov eax, dword [ebp - 0xa8]
sub eax, 0xf40fae3f
je 0x40d392
jmp 0x40c7e1
mov eax, dword [ebp - 0xa8]
sub eax, 0xf9ecb7f2
je 0x40cf5b
jmp 0x40c7f7
mov eax, dword [ebp - 0xa8]
sub eax, 0xfbd7d8f7
je 0x40d528
jmp 0x40c80d
mov eax, dword [ebp - 0xa8]
sub eax, 0xfe3f9dcc
je 0x40d87a
jmp 0x40c823
mov eax, dword [ebp - 0xa8]
sub eax, 0x27d5799
je 0x40d7c5
jmp 0x40c839
mov eax, dword [ebp - 0xa8]
sub eax, 0x5f89c2b
je 0x40daf0
jmp 0x40c84f
mov eax, dword [ebp - 0xa8]
sub eax, 0x803ed4a
je 0x40d208
jmp 0x40c865
mov eax, dword [ebp - 0xa8]
sub eax, 0xdbd5f57
je 0x40d0a2
jmp 0x40c87b
mov eax, dword [ebp - 0xa8]
sub eax, 0xe17b084
je 0x40d18b
jmp 0x40c891
mov eax, dword [ebp - 0xa8]
sub eax, 0x127595ab
je 0x40d5f7
jmp 0x40c8a7
mov eax, dword [ebp - 0xa8]
sub eax, 0x182f8ef9
je 0x40dbca
jmp 0x40c8bd
mov eax, dword [ebp - 0xa8]
sub eax, 0x1b3c4cc8
je 0x40de74
jmp 0x40c8d3
mov eax, dword [ebp - 0xa8]
sub eax, 0x1c905ba2
je 0x40cf4c
jmp 0x40c8e9
mov eax, dword [ebp - 0xa8]
sub eax, 0x1e5c1e68
je 0x40d537
jmp 0x40c8ff
mov eax, dword [ebp - 0xa8]
sub eax, 0x214fa8a8
je 0x40dc77
jmp 0x40c915
mov eax, dword [ebp - 0xa8]
sub eax, 0x2befb8ff
je 0x40d115
jmp 0x40c92b
mov eax, dword [ebp - 0xa8]
sub eax, 0x32c0eda6
je 0x40dbd9
jmp 0x40c941
mov eax, dword [ebp - 0xa8]
sub eax, 0x34c67264
je 0x40db41
jmp 0x40c957
mov eax, dword [ebp - 0xa8]
sub eax, 0x35758bda
je 0x40d383
jmp 0x40c96d
mov eax, dword [ebp - 0xa8]
sub eax, 0x36bd882c
je 0x40dd80
jmp 0x40c983
mov eax, dword [ebp - 0xa8]
sub eax, 0x378b0ab1
je 0x40cd94
jmp 0x40c999
mov eax, dword [ebp - 0xa8]
sub eax, 0x401741df
je 0x40de83
jmp 0x40c9af
mov eax, dword [ebp - 0xa8]
sub eax, 0x40a10bf0
je 0x40de4a
jmp 0x40c9c5
mov eax, dword [ebp - 0xa8]
sub eax, 0x4188f193
je 0x40dbe8
jmp 0x40c9db
mov eax, dword [ebp - 0xa8]
sub eax, 0x43892bb6
je 0x40d8df
jmp 0x40c9f1
mov eax, dword [ebp - 0xa8]
sub eax, 0x43f5f87b
je 0x40d772
jmp 0x40ca07
mov eax, dword [ebp - 0xa8]
sub eax, 0x47522ece
je 0x40d093
jmp 0x40ca1d
mov eax, dword [ebp - 0xa8]
sub eax, 0x49b981fa
je 0x40d477
jmp 0x40ca33
mov eax, dword [ebp - 0xa8]
sub eax, 0x53867b7e
je 0x40d1b1
jmp 0x40ca49
mov eax, dword [ebp - 0xa8]
sub eax, 0x5918e4f1
je 0x40cd85
jmp 0x40ca5f
mov eax, dword [ebp - 0xa8]
sub eax, 0x5be331ce
je 0x40dc39
jmp 0x40ca75
mov eax, dword [ebp - 0xa8]
sub eax, 0x5e035c91
je 0x40d2bb
jmp 0x40ca8b
mov eax, dword [ebp - 0xa8]
sub eax, 0x5ea88351
je 0x40d26a
jmp 0x40caa1
mov eax, dword [ebp - 0xa8]
sub eax, 0x5fce6289
je 0x40de59
jmp 0x40cab7
mov eax, dword [ebp - 0xa8]
sub eax, 0x61b6c6ab
je 0x40d5e8
jmp 0x40cacd
mov eax, dword [ebp - 0xa8]
sub eax, 0x61c729f2
je 0x40d829
mov al, byte [ebp - 0x9a]
mov cl, byte [ebp - 0x99]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xad329b2d
mov ecx, 0x6fe4611b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov eax, dword [0x440584]
mov ecx, dword [0x440580]
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, 0x214fa8a8
mov ecx, 0xb55e3537
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x5c], eax
mov eax, dword [0x440584]
mov ecx, dword [0x440580]
mov edx, eax
add edx, 0x4dafb119
sub edx, 1
sub edx, 0x4dafb119
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, 0x214fa8a8
mov ecx, 0x5918e4f1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov dword [ebp - 0xa0], 0x378b0ab1
jmp 0x40deca
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x5c]
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.004282e0
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 edx, dword [ebp - 0x8c]
mov eax, 0x7eac7bbc
mov ecx, 0xacd068f0
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov ecx, dword [0x440584]
mov eax, dword [0x440580]
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, 0x92b1f23b
mov ecx, 0xeebe6db9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
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 eax, dword [ebp - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov ecx, dword [0x440584]
mov eax, dword [0x440580]
mov edx, ecx
sub edx, 0x1f02446a
sub edx, 1
add edx, 0x1f02446a
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, 0x92b1f23b
mov ecx, 0x1c905ba2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov dword [ebp - 0xa0], 0xf9ecb7f2
jmp 0x40deca
mov eax, dword [0x440584]
mov ecx, dword [0x440580]
mov edx, eax
sub edx, 0xd1a83246
sub edx, 1
add edx, 0xd1a83246
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, 0xef1debc0
mov ecx, 0x89ad23a2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
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 - 0x84]
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 - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov ecx, dword [0x440584]
mov eax, dword [0x440580]
mov edx, ecx
add edx, 0xc041f42b
sub edx, 1
sub edx, 0xc041f42b
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, 0xef1debc0
mov ecx, 0x47522ece
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov dword [ebp - 0xa0], 0xdbd5f57
jmp 0x40deca
mov edx, dword [ebp - 0x50]
mov esi, 0xffffffff
mov eax, 0xd3afa765
mov ecx, 0x7db0acc3
cmp edx, esi
cmove eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov ecx, dword [0x440584]
mov eax, dword [0x440580]
mov edx, ecx
add edx, 0x9981c76f
sub edx, 1
sub edx, 0x9981c76f
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, 0xe1ac0a79
mov ecx, 0xe17b084
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov dword [ebp - 0xa0], 0xeb812ad2
jmp 0x40deca
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0xa0], 0x53867b7e
jmp 0x40deca
mov eax, dword [ebp - 0x4c]
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 [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0xa0], 0x803ed4a
jmp 0x40deca
mov edx, dword [ebp - 0x48]
mov eax, 0x65168536
mov ecx, 0x5ea88351
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0xa81b6ac9
jmp 0x40deca
mov dword [ebp - 0xa0], 0xeb812ad2
jmp 0x40deca
mov eax, dword [0x440584]
mov ecx, dword [0x440580]
mov edx, eax
add edx, 0xe6e4a96c
sub edx, 1
sub edx, 0xe6e4a96c
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, 0x36bd882c
mov ecx, 0x5e035c91
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
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 - 0x40], eax
mov ecx, dword [0x440584]
mov eax, dword [0x440580]
mov edx, ecx
sub edx, 0x25490473
sub edx, 1
add edx, 0x25490473
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, 0x36bd882c
mov ecx, 0x35758bda
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov dword [ebp - 0xa0], 0xf40fae3f
jmp 0x40deca
mov ecx, dword [0x440584]
mov eax, dword [0x440580]
mov edx, ecx
sub edx, 0xfb74a8ac
sub edx, 1
add edx, 0xfb74a8ac
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, 0xde94b93f
mov ecx, 0xc70c21f1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov ecx, dword [ebp - 0x40]
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 eax, dword [0x440584]
mov ecx, dword [0x440580]
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, 0xde94b93f
mov ecx, 0x49b981fa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov dword [ebp - 0xa0], 0xf370a391
jmp 0x40deca
mov eax, dword [0x440584]
mov ecx, dword [0x440580]
mov edx, eax
add edx, 0xdf833a39
sub edx, 1
sub edx, 0xdf833a39
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, 0x946fe2a4
mov ecx, 0xea7601db
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov eax, dword [0x440584]
mov ecx, dword [0x440580]
mov edx, eax
sub edx, 0xe1312c00
sub edx, 1
add edx, 0xe1312c00
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, 0x946fe2a4
mov ecx, 0xfbd7d8f7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov dword [ebp - 0xa0], 0x1e5c1e68
jmp 0x40deca
mov eax, dword [0x440584]
mov ecx, dword [0x440580]
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, 0xb833605d
mov ecx, 0x7640bc4a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov dword [ebp - 0xa0], 0x127595ab
jmp 0x40deca
mov eax, dword [0x440584]
mov ecx, dword [0x440580]
mov edx, eax
sub edx, 0xca4813ab
sub edx, 1
add edx, 0xca4813ab
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, 0x98db6086
mov ecx, 0x81a34ffb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov eax, dword [ebp - 0x38]
movzx ecx, word [eax]
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x31], al
mov ecx, dword [0x440584]
mov eax, dword [0x440580]
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, 0x98db6086
mov ecx, 0x826ca251
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov dword [ebp - 0xa0], 0xe5c8ae21
jmp 0x40deca
mov eax, dword [0x440584]
mov ecx, dword [0x440580]
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, 0x40a10bf0
mov ecx, 0x72f75c90
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov dl, byte [ebp - 0x31]
mov eax, 0x4188f193
mov ecx, 0xb29fd0b8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov ecx, dword [ebp - 0x70]
mov ecx, dword [ecx]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xa0], 0x27d5799
jmp 0x40deca
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xa0], 0xabb928ed
jmp 0x40deca
mov ecx, dword [ebp - 0x2c]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x437e4e
call fcn.0042bbe0
add esp, 8
mov edx, eax
mov eax, 0x61c729f2
mov ecx, 0x6fba6222
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov eax, dword [ebp - 0x64]
mov dword [eax], 0
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
add eax, 8
mov dword [ebp - 0x28], eax
mov eax, dword [0x440584]
mov ecx, dword [0x440580]
mov edx, eax
add edx, 0x2d2e8c42
sub edx, 1
sub edx, 0x2d2e8c42
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, 0x5fce6289
mov ecx, 0x43892bb6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov dword [ebp - 0xa0], 0xb937cf84
jmp 0x40deca
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]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa0], 0x6b6023ec
jmp 0x40deca
mov eax, dword [ebp - 0x6c]
mov ax, word [eax]
mov word [ebp - 0x16], ax
mov dword [ebp - 0xa0], 0x5f89c2b
jmp 0x40deca
mov eax, dword [0x440584]
mov ecx, dword [0x440580]
mov edx, eax
sub edx, 0x868e2566
sub edx, 1
add edx, 0x868e2566
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, 0x401741df
mov ecx, 0x34c67264
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov cx, word [ebp - 0x16]
xor eax, eax
sub ax, 1
sub cx, ax
mov eax, dword [ebp - 0x6c]
mov word [eax], cx
mov ecx, dword [0x440584]
mov eax, dword [0x440580]
mov edx, ecx
add edx, 0xff1a27dc
sub edx, 1
sub edx, 0xff1a27dc
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, 0x401741df
mov ecx, 0x182f8ef9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40deca
mov dword [ebp - 0xa0], 0x32c0eda6
jmp 0x40deca
mov dword [ebp - 0xa0], 0x1e5c1e68
jmp 0x40deca
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
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 - 0x14], eax
mov dword [ebp - 0xa0], 0xd761c017
jmp 0x40deca
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xa0], 0x5be331ce
jmp 0x40deca
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0xeb812ad2
jmp 0x40deca
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.004275f0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0xa0], 0x6fe4611b
jmp 0x40deca
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0xa0], 0xb55e3537
jmp 0x40deca
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 eax, dword [ebp - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa0], 0xeebe6db9
jmp 0x40deca
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
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 - 0x84]
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 - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa0], 0x89ad23a2
jmp 0x40deca
mov dword [ebp - 0xa0], 0x2befb8ff
jmp 0x40deca
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 dword [ebp - 0xa0], 0x5e035c91
jmp 0x40deca
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
add ecx, 0x33c8325c
add ecx, eax
sub ecx, 0x33c8325c
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
mov word [eax], 0
mov dword [ebp - 0xa0], 0xc70c21f1
jmp 0x40deca
mov dword [ebp - 0xa0], 0xea7601db
jmp 0x40deca
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xa0], 0x7640bc4a
jmp 0x40deca
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xa0], 0x81a34ffb
jmp 0x40deca
mov dword [ebp - 0xa0], 0x72f75c90
jmp 0x40deca
mov eax, dword [ebp - 0x64]
mov dword [eax], 0
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0xa0], 0xfe3f9dcc
jmp 0x40deca
mov dword [ebp - 0xa0], 0x7c288247
jmp 0x40deca
mov ax, word [ebp - 0x16]
mov ax, word [ebp - 0x16]
mov ax, word [ebp - 0x16]
mov ax, word [ebp - 0x16]
mov ax, word [ebp - 0x16]
mov ax, word [ebp - 0x16]
mov ax, word [ebp - 0x16]
mov ax, word [ebp - 0x16]
mov cx, word [ebp - 0x16]
xor eax, eax
sub ax, cx
xor ecx, ecx
sub cx, 1
add ax, cx
xor ecx, ecx
sub cx, ax
mov eax, dword [ebp - 0x6c]
mov word [eax], cx
mov dword [ebp - 0xa0], 0x34c67264
jmp 0x40c547