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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1b8
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c0], eax
mov eax, dword [0x433080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1bc], 0xdfe9c698
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x1c4], eax
sub eax, 0x86fd417a
je 0x408260
jmp 0x407a65
mov eax, dword [ebp - 0x1c4]
sub eax, 0x97868387
je 0x40874d
jmp 0x407a7b
mov eax, dword [ebp - 0x1c4]
sub eax, 0x9b5b9dcd
je 0x40895f
jmp 0x407a91
mov eax, dword [ebp - 0x1c4]
sub eax, 0x9d4550d2
je 0x408dac
jmp 0x407aa7
mov eax, dword [ebp - 0x1c4]
sub eax, 0x9eb65e8e
je 0x408dd9
jmp 0x407abd
mov eax, dword [ebp - 0x1c4]
sub eax, 0xa2878023
je 0x4090d3
jmp 0x407ad3
mov eax, dword [ebp - 0x1c4]
sub eax, 0xa7bf0fbf
je 0x4084da
jmp 0x407ae9
mov eax, dword [ebp - 0x1c4]
sub eax, 0xad199f8f
je 0x408abb
jmp 0x407aff
mov eax, dword [ebp - 0x1c4]
sub eax, 0xad21a25d
je 0x40854a
jmp 0x407b15
mov eax, dword [ebp - 0x1c4]
sub eax, 0xb2655d9c
je 0x408f4c
jmp 0x407b2b
mov eax, dword [ebp - 0x1c4]
sub eax, 0xbbd650f4
je 0x408a72
jmp 0x407b41
mov eax, dword [ebp - 0x1c4]
sub eax, 0xbf0e2859
je 0x4080d7
jmp 0x407b57
mov eax, dword [ebp - 0x1c4]
sub eax, 0xc0185a50
je 0x4087a7
jmp 0x407b6d
mov eax, dword [ebp - 0x1c4]
sub eax, 0xc0ade9e5
je 0x408b2d
jmp 0x407b83
mov eax, dword [ebp - 0x1c4]
sub eax, 0xc0e10cf3
je 0x408574
jmp 0x407b99
mov eax, dword [ebp - 0x1c4]
sub eax, 0xc3f0405d
je 0x408f8b
jmp 0x407baf
mov eax, dword [ebp - 0x1c4]
sub eax, 0xcb6e8b9f
je 0x4085ac
jmp 0x407bc5
mov eax, dword [ebp - 0x1c4]
sub eax, 0xceb3ca88
je 0x4091b9
jmp 0x407bdb
mov eax, dword [ebp - 0x1c4]
sub eax, 0xd293cb5e
je 0x408831
jmp 0x407bf1
mov eax, dword [ebp - 0x1c4]
sub eax, 0xd60a8f84
je 0x408d0a
jmp 0x407c07
mov eax, dword [ebp - 0x1c4]
sub eax, 0xd88a39ae
je 0x408c81
jmp 0x407c1d
mov eax, dword [ebp - 0x1c4]
sub eax, 0xda52b512
je 0x40838a
jmp 0x407c33
mov eax, dword [ebp - 0x1c4]
sub eax, 0xdcd7fc6a
je 0x40876e
jmp 0x407c49
mov eax, dword [ebp - 0x1c4]
sub eax, 0xdd756602
je 0x40808c
jmp 0x407c5f
mov eax, dword [ebp - 0x1c4]
sub eax, 0xdfe9c698
je 0x408000
jmp 0x407c75
mov eax, dword [ebp - 0x1c4]
sub eax, 0xe189ea87
je 0x408eda
jmp 0x407c8b
mov eax, dword [ebp - 0x1c4]
sub eax, 0xe253eb9e
je 0x40903a
jmp 0x407ca1
mov eax, dword [ebp - 0x1c4]
sub eax, 0xe5bfc0ae
je 0x408339
jmp 0x407cb7
mov eax, dword [ebp - 0x1c4]
sub eax, 0xef783769
je 0x4081c8
jmp 0x407ccd
mov eax, dword [ebp - 0x1c4]
sub eax, 0xf03d098f
je 0x408f3d
jmp 0x407ce3
mov eax, dword [ebp - 0x1c4]
sub eax, 0xf25efb14
je 0x4090b8
jmp 0x407cf9
mov eax, dword [ebp - 0x1c4]
sub eax, 0xf4276a43
je 0x4088e9
jmp 0x407d0f
mov eax, dword [ebp - 0x1c4]
sub eax, 0xfbff3910
je 0x40832a
jmp 0x407d25
mov eax, dword [ebp - 0x1c4]
sub eax, 0x1f40db7
je 0x408137
jmp 0x407d3b
mov eax, dword [ebp - 0x1c4]
sub eax, 0x11ef4d01
je 0x408d8e
jmp 0x407d51
mov eax, dword [ebp - 0x1c4]
sub eax, 0x154f4b47
je 0x408f70
jmp 0x407d67
mov eax, dword [ebp - 0x1c4]
sub eax, 0x15682b42
je 0x40919c
jmp 0x407d7d
mov eax, dword [ebp - 0x1c4]
sub eax, 0x170d960f
je 0x408623
jmp 0x407d93
mov eax, dword [ebp - 0x1c4]
sub eax, 0x1882517f
je 0x4088c8
jmp 0x407da9
mov eax, dword [ebp - 0x1c4]
sub eax, 0x19a34b3e
je 0x4087e8
jmp 0x407dbf
mov eax, dword [ebp - 0x1c4]
sub eax, 0x1d867bce
je 0x408c72
jmp 0x407dd5
mov eax, dword [ebp - 0x1c4]
sub eax, 0x1f4acec9
je 0x408eec
jmp 0x407deb
mov eax, dword [ebp - 0x1c4]
sub eax, 0x26950c6d
je 0x408f5b
jmp 0x407e01
mov eax, dword [ebp - 0x1c4]
sub eax, 0x2b846ec3
je 0x408683
jmp 0x407e17
mov eax, dword [ebp - 0x1c4]
sub eax, 0x2dfeebe2
je 0x408b3c
jmp 0x407e2d
mov eax, dword [ebp - 0x1c4]
sub eax, 0x327f9ab2
je 0x40844d
jmp 0x407e43
mov eax, dword [ebp - 0x1c4]
sub eax, 0x37f9ccf2
je 0x4081d7
jmp 0x407e59
mov eax, dword [ebp - 0x1c4]
sub eax, 0x388cb435
je 0x408ecb
jmp 0x407e6f
mov eax, dword [ebp - 0x1c4]
sub eax, 0x38bc73c3
je 0x4083fc
jmp 0x407e85
mov eax, dword [ebp - 0x1c4]
sub eax, 0x38ec01d3
je 0x4080bc
jmp 0x407e9b
mov eax, dword [ebp - 0x1c4]
sub eax, 0x3ac41b36
je 0x408dfa
jmp 0x407eb1
mov eax, dword [ebp - 0x1c4]
sub eax, 0x42327bca
je 0x408c90
jmp 0x407ec7
mov eax, dword [ebp - 0x1c4]
sub eax, 0x430d3845
je 0x4086e3
jmp 0x407edd
mov eax, dword [ebp - 0x1c4]
sub eax, 0x436cfa88
je 0x4085da
jmp 0x407ef3
mov eax, dword [ebp - 0x1c4]
sub eax, 0x51693bd4
je 0x4084e9
jmp 0x407f09
mov eax, dword [ebp - 0x1c4]
sub eax, 0x53adfee5
je 0x408cb9
jmp 0x407f1f
mov eax, dword [ebp - 0x1c4]
sub eax, 0x5ae519d8
je 0x408a63
jmp 0x407f35
mov eax, dword [ebp - 0x1c4]
sub eax, 0x5c1eeff4
je 0x4081f2
jmp 0x407f4b
mov eax, dword [ebp - 0x1c4]
sub eax, 0x6378d701
je 0x408b8d
jmp 0x407f61
mov eax, dword [ebp - 0x1c4]
sub eax, 0x64623ad1
je 0x408d9d
jmp 0x407f77
mov eax, dword [ebp - 0x1c4]
sub eax, 0x6a85e7c4
je 0x4084b9
jmp 0x407f8d
mov eax, dword [ebp - 0x1c4]
sub eax, 0x723e47fd
je 0x4083db
jmp 0x407fa3
mov eax, dword [ebp - 0x1c4]
sub eax, 0x77f076d2
je 0x408e68
jmp 0x407fb9
mov eax, dword [ebp - 0x1c4]
sub eax, 0x7a2067d2
je 0x4084aa
jmp 0x407fcf
mov eax, dword [ebp - 0x1c4]
sub eax, 0x7eba3088
je 0x408692
mov eax, dword [ebp - 0x1c0]
push eax
mov ecx, esp
mov dword [ebp - 0x190], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x18c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0x194], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x120]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0041d7c0
add esp, 0xc
mov eax, dword [ebp - 0x194]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x1bc], 0xdd756602
jmp 0x4091d5
mov edx, dword [ebp - 0x184]
mov eax, 0x7f2e7bfe
mov ecx, 0x38ec01d3
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x1bc], 0xbf0e2859
jmp 0x4091d5
mov edx, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x180]
lea eax, [ebp - 0x120]
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 - 0x120]
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x114]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x1bc], 0x1f40db7
jmp 0x4091d5
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x178]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x114]
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 dword [ebp - 0x1a4], eax
mov edx, 0xffffffff
mov eax, 0x37f9ccf2
mov ecx, 0xef783769
cmp dword [ebp - 0x1a4], edx
cmove eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov dword [ebp - 0x1bc], 0xe189ea87
jmp 0x4091d5
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x1bc], 0x5c1eeff4
jmp 0x4091d5
mov ecx, dword [0x43455c]
mov eax, dword [0x434558]
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, 0x1f4acec9
mov ecx, 0x86fd417a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov eax, dword [ebp - 0x174]
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 - 0x1a8], eax
cmp dword [ebp - 0x1a8], 0
setne al
and al, 1
mov byte [ebp - 0x16d], al
mov ecx, dword [0x43455c]
mov eax, dword [0x434558]
mov edx, ecx
sub edx, 0xe611f86e
sub edx, 1
add edx, 0xe611f86e
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, 0x1f4acec9
mov ecx, 0xfbff3910
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov dword [ebp - 0x1bc], 0xe5bfc0ae
jmp 0x4091d5
mov eax, dword [0x43455c]
mov ecx, dword [0x434558]
mov edx, eax
sub edx, 0x905f68c2
sub edx, 1
add edx, 0x905f68c2
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, 0xf03d098f
mov ecx, 0xda52b512
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov eax, dword [0x43455c]
mov ecx, dword [0x434558]
mov edx, eax
add edx, 0x5e56a234
sub edx, 1
sub edx, 0x5e56a234
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, 0xf03d098f
mov ecx, 0x723e47fd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov dl, byte [ebp - 0x16d]
mov eax, 0x38bc73c3
mov ecx, 0x51693bd4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov eax, dword [0x43455c]
mov ecx, dword [0x434558]
mov edx, eax
sub edx, 0x37a1ee88
sub edx, 1
add edx, 0x37a1ee88
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, 0xb2655d9c
mov ecx, 0x327f9ab2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x16c], eax
mov eax, dword [0x43455c]
mov ecx, dword [0x434558]
mov edx, eax
sub edx, 0xad0e7602
sub edx, 1
add edx, 0xad0e7602
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, 0xb2655d9c
mov ecx, 0x7a2067d2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov dword [ebp - 0x1bc], 0x6a85e7c4
jmp 0x4091d5
mov eax, dword [ebp - 0x16c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1bc], 0xa7bf0fbf
jmp 0x4091d5
mov dword [ebp - 0x1bc], 0xe189ea87
jmp 0x4091d5
mov eax, dword [ebp - 0x1a8]
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 dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x1bc], 0xad21a25d
jmp 0x4091d5
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x1b0]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x1bc], 0xc0e10cf3
jmp 0x4091d5
mov eax, dword [ebp - 0x164]
mov edx, dword [ebp - 0x160]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x1b4], eax
mov word [ebp - 0x1b6], 0
mov dword [ebp - 0x1bc], 0xcb6e8b9f
jmp 0x4091d5
movzx eax, word [ebp - 0x1b6]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x1b4]
add eax, 4
add eax, 2
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x1bc], 0x436cfa88
jmp 0x4091d5
mov eax, dword [0x43455c]
mov ecx, dword [0x434558]
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, 0x26950c6d
mov ecx, 0x170d960f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov eax, dword [ebp - 0x158]
movzx eax, word [eax]
mov dword [ebp - 0x154], eax
mov eax, dword [0x43455c]
mov ecx, dword [0x434558]
mov edx, eax
add edx, 0x8b3362a6
sub edx, 1
sub edx, 0x8b3362a6
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, 0x26950c6d
mov ecx, 0x2b846ec3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov dword [ebp - 0x1bc], 0x7eba3088
jmp 0x4091d5
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x154]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x14d], al
mov eax, dword [0x43455c]
mov ecx, dword [0x434558]
mov edx, eax
sub edx, 0x2e59822d
sub edx, 1
add edx, 0x2e59822d
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, 0x154f4b47
mov ecx, 0x97868387
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov dl, byte [ebp - 0x14d]
mov eax, 0x9d4550d2
mov ecx, 0xdcd7fc6a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov eax, dword [ebp - 0x1b4]
add eax, 0x22fec32c
add eax, 0x18
sub eax, 0x22fec32c
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x1b4]
mov ax, word [eax + 0x14]
mov word [ebp - 0x146], ax
mov dword [ebp - 0x1bc], 0xc0185a50
jmp 0x4091d5
mov ax, word [ebp - 0x146]
movzx ecx, ax
mov eax, dword [ebp - 0x14c]
sub eax, 0x44c39f9c
add eax, ecx
add eax, 0x44c39f9c
mov dword [ebp - 0x144], eax
movzx eax, word [ebp - 0x1b6]
imul eax, eax, 0x28
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x1bc], 0x19a34b3e
jmp 0x4091d5
mov eax, dword [0x43455c]
mov ecx, dword [0x434558]
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, 0xc3f0405d
mov ecx, 0xd293cb5e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov ecx, dword [ebp - 0x144]
mov edx, dword [ebp - 0x140]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x190]
mov dword [eax], ecx
mov eax, dword [ebp - 0x190]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42c969
call fcn.004210c0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x139], al
mov eax, dword [0x43455c]
mov ecx, dword [0x434558]
mov edx, eax
add edx, 0x1e39c336
sub edx, 1
sub edx, 0x1e39c336
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, 0xc3f0405d
mov ecx, 0x1882517f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov dl, byte [ebp - 0x139]
mov eax, 0xf4276a43
mov ecx, 0xd88a39ae
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov ecx, dword [0x43455c]
mov eax, dword [0x434558]
mov edx, ecx
add edx, 0xcb768ff5
sub edx, 1
sub edx, 0xcb768ff5
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, 0xe253eb9e
mov ecx, 0x9b5b9dcd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov eax, dword [ebp - 0x18c]
mov dword [eax], 0
mov eax, dword [ebp - 0x190]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x190]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0xf4a2628c
add edx, eax
add edx, 0xf4a2628c
mov eax, dword [ebp - 0x18c]
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 - 0x188]
mov byte [eax], cl
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x190]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x138], eax
mov ecx, dword [0x43455c]
mov eax, dword [0x434558]
mov edx, ecx
add edx, 0xa19c9adc
sub edx, 1
sub edx, 0xa19c9adc
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, 0xe253eb9e
mov ecx, 0x5ae519d8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov dword [ebp - 0x1bc], 0xbbd650f4
jmp 0x4091d5
mov eax, dword [0x43455c]
mov ecx, dword [0x434558]
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, 0xf25efb14
mov ecx, 0xad199f8f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x190]
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x12c], eax
mov eax, dword [0x43455c]
mov ecx, dword [0x434558]
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, 0xf25efb14
mov ecx, 0xc0ade9e5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov dword [ebp - 0x1bc], 0x2dfeebe2
jmp 0x4091d5
mov eax, dword [0x43455c]
mov ecx, dword [0x434558]
mov edx, eax
add edx, 0x4566b551
sub edx, 1
sub edx, 0x4566b551
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, 0xa2878023
mov ecx, 0x6378d701
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov eax, dword [ebp - 0x12c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x130]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x190]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x134]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041d920
add esp, 0xc
mov eax, dword [ebp - 0x18c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x190]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x190]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, edi
sub esi, eax
mov eax, dword [ebp - 0x18c]
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 - 0x188]
mov byte [eax], cl
mov eax, dword [0x43455c]
mov ecx, dword [0x434558]
mov edx, eax
add edx, 0xf7c65acd
sub edx, 1
sub edx, 0xf7c65acd
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, 0xa2878023
mov ecx, 0x1d867bce
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov dword [ebp - 0x1bc], 0xd88a39ae
jmp 0x4091d5
mov dword [ebp - 0x1bc], 0x42327bca
jmp 0x4091d5
mov ax, word [ebp - 0x1b6]
add ax, 0xef90
add ax, 1
sub ax, 0xef90
mov word [ebp - 0x126], ax
mov dword [ebp - 0x1bc], 0x53adfee5
jmp 0x4091d5
mov eax, dword [0x43455c]
mov ecx, dword [0x434558]
mov edx, eax
add edx, 0x2557085c
sub edx, 1
sub edx, 0x2557085c
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, 0x15682b42
mov ecx, 0xd60a8f84
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov ax, word [ebp - 0x126]
mov word [ebp - 0x1b6], ax
mov ecx, dword [0x43455c]
mov eax, dword [0x434558]
mov edx, ecx
sub edx, 0x2c27440c
sub edx, 1
add edx, 0x2c27440c
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, 0x15682b42
mov ecx, 0x11ef4d01
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov dword [ebp - 0x1bc], 0x64623ad1
jmp 0x4091d5
mov dword [ebp - 0x1bc], 0xcb6e8b9f
jmp 0x4091d5
mov eax, dword [ebp - 0x1a4]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x1bc], 0x9eb65e8e
jmp 0x4091d5
mov eax, dword [ebp - 0x124]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1bc], 0x3ac41b36
jmp 0x4091d5
mov ecx, dword [0x43455c]
mov eax, dword [0x434558]
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, 0xceb3ca88
mov ecx, 0x77f076d2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov eax, dword [ebp - 0x198]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x43455c]
mov ecx, dword [0x434558]
mov edx, eax
sub edx, 0xac118aa2
sub edx, 1
add edx, 0xac118aa2
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, 0xceb3ca88
mov ecx, 0x388cb435
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1bc], eax
jmp 0x4091d5
mov dword [ebp - 0x1bc], 0xe189ea87
jmp 0x4091d5
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041cad0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x174]
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 - 0x1a8], eax
mov dword [ebp - 0x1bc], 0x86fd417a
jmp 0x4091d5
mov dword [ebp - 0x1bc], 0xda52b512
jmp 0x4091d5
mov dword [ebp - 0x1bc], 0x327f9ab2
jmp 0x4091d5
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x1bc], 0x170d960f
jmp 0x4091d5
mov eax, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x1bc], 0x430d3845
jmp 0x4091d5
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x140]
sub ecx, 0x7c7026e2
add ecx, eax
add ecx, 0x7c7026e2
mov eax, dword [ebp - 0x190]
mov dword [eax], ecx
mov eax, dword [ebp - 0x190]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42c969
call fcn.004210c0
add esp, 8
mov dword [ebp - 0x1bc], 0xd293cb5e
jmp 0x4091d5
mov eax, dword [ebp - 0x18c]
mov dword [eax], 0
mov eax, dword [ebp - 0x190]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x190]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0xc72cadad
add edx, eax
sub edx, 0xc72cadad
mov eax, dword [ebp - 0x18c]
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 - 0x188]
mov byte [eax], cl
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x1bc], 0x9b5b9dcd
jmp 0x4091d5
mov eax, dword [ebp - 0x138]
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x1bc], 0xad199f8f
jmp 0x4091d5
mov eax, dword [ebp - 0x12c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x130]
add ecx, 0x94447588
add ecx, eax
sub ecx, 0x94447588
mov eax, dword [ebp - 0x190]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x134]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041d920
add esp, 0xc
mov eax, dword [ebp - 0x18c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x190]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x190]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, edi
sub esi, eax
mov eax, dword [ebp - 0x18c]
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 - 0x188]
mov byte [eax], cl
mov dword [ebp - 0x1bc], 0x6378d701
jmp 0x4091d5
mov ax, word [ebp - 0x126]
mov word [ebp - 0x1b6], ax
mov dword [ebp - 0x1bc], 0xd60a8f84
jmp 0x4091d5
mov eax, dword [ebp - 0x198]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1bc], 0x77f076d2
jmp 0x407a49