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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x1b0
mov eax, dword [ebp + 8]
mov eax, dword [0x434080]
xor eax, ebp
mov dword [ebp - 0xc], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x16c], eax
lea eax, [ebp - 0x11c]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0041e3c0
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
sub esp, 4
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x198], 0x975b5c45
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x19c], eax
sub eax, 0x856cf2c2
je 0x408cc4
jmp 0x40860f
mov eax, dword [ebp - 0x19c]
sub eax, 0x86426bf1
je 0x40977c
jmp 0x408625
mov eax, dword [ebp - 0x19c]
sub eax, 0x86850b4b
je 0x4092a8
jmp 0x40863b
mov eax, dword [ebp - 0x19c]
sub eax, 0x88925f3b
je 0x40972b
jmp 0x408651
mov eax, dword [ebp - 0x19c]
sub eax, 0x8e65901c
je 0x408ba4
jmp 0x408667
mov eax, dword [ebp - 0x19c]
sub eax, 0x8fb3e434
je 0x4097cd
jmp 0x40867d
mov eax, dword [ebp - 0x19c]
sub eax, 0x96d304f0
je 0x409912
jmp 0x408693
mov eax, dword [ebp - 0x19c]
sub eax, 0x975b5c45
je 0x408b68
jmp 0x4086a9
mov eax, dword [ebp - 0x19c]
sub eax, 0x994818dc
je 0x4096ff
jmp 0x4086bf
mov eax, dword [ebp - 0x19c]
sub eax, 0x9c561a4b
je 0x408d15
jmp 0x4086d5
mov eax, dword [ebp - 0x19c]
sub eax, 0x9f36af6c
je 0x408d97
jmp 0x4086eb
mov eax, dword [ebp - 0x19c]
sub eax, 0xa0034fdc
je 0x40921d
jmp 0x408701
mov eax, dword [ebp - 0x19c]
sub eax, 0xa06aee4a
je 0x4099a8
jmp 0x408717
mov eax, dword [ebp - 0x19c]
sub eax, 0xa24e2a0d
je 0x408c24
jmp 0x40872d
mov eax, dword [ebp - 0x19c]
sub eax, 0xa52477ce
je 0x408da6
jmp 0x408743
mov eax, dword [ebp - 0x19c]
sub eax, 0xa5b7371a
je 0x409944
jmp 0x408759
mov eax, dword [ebp - 0x19c]
sub eax, 0xa6c30068
je 0x4094bb
jmp 0x40876f
mov eax, dword [ebp - 0x19c]
sub eax, 0xa8ae8dd4
je 0x409a08
jmp 0x408785
mov eax, dword [ebp - 0x19c]
sub eax, 0xaba29717
je 0x408b83
jmp 0x40879b
mov eax, dword [ebp - 0x19c]
sub eax, 0xad837cf8
je 0x408f5f
jmp 0x4087b1
mov eax, dword [ebp - 0x19c]
sub eax, 0xaf46aee5
je 0x40958b
jmp 0x4087c7
mov eax, dword [ebp - 0x19c]
sub eax, 0xb2524ca2
je 0x409a17
jmp 0x4087dd
mov eax, dword [ebp - 0x19c]
sub eax, 0xc89ec800
je 0x40963c
jmp 0x4087f3
mov eax, dword [ebp - 0x19c]
sub eax, 0xc8c64548
je 0x409953
jmp 0x408809
mov eax, dword [ebp - 0x19c]
sub eax, 0xd2e6e0e9
je 0x409448
jmp 0x40881f
mov eax, dword [ebp - 0x19c]
sub eax, 0xd35c16c2
je 0x408fe1
jmp 0x408835
mov eax, dword [ebp - 0x19c]
sub eax, 0xd9d14fe5
je 0x40982a
jmp 0x40884b
mov eax, dword [ebp - 0x19c]
sub eax, 0xe17c0f6a
je 0x40970e
jmp 0x408861
mov eax, dword [ebp - 0x19c]
sub eax, 0xeabf95e1
je 0x40912d
jmp 0x408877
mov eax, dword [ebp - 0x19c]
sub eax, 0xeac683cd
je 0x409935
jmp 0x40888d
mov eax, dword [ebp - 0x19c]
sub eax, 0xeccfa89c
je 0x409360
jmp 0x4088a3
mov eax, dword [ebp - 0x19c]
sub eax, 0xede13530
je 0x4097f7
jmp 0x4088b9
mov eax, dword [ebp - 0x19c]
sub eax, 0xf8215197
je 0x409177
jmp 0x4088cf
mov eax, dword [ebp - 0x19c]
sub eax, 0xf8869a3f
je 0x408ee9
jmp 0x4088e5
mov eax, dword [ebp - 0x19c]
sub eax, 0xf9432e44
je 0x408ec8
jmp 0x4088fb
mov eax, dword [ebp - 0x19c]
sub eax, 0xfe33a7da
je 0x40964b
jmp 0x408911
mov eax, dword [ebp - 0x19c]
sub eax, 0x620f9
je 0x409186
jmp 0x408927
mov eax, dword [ebp - 0x19c]
sub eax, 0x4ba8bfd
je 0x4091cc
jmp 0x40893d
mov eax, dword [ebp - 0x19c]
sub eax, 0x5ea95d1
je 0x40950c
jmp 0x408953
mov eax, dword [ebp - 0x19c]
sub eax, 0x9d4f0cb
je 0x4092c9
jmp 0x408969
mov eax, dword [ebp - 0x19c]
sub eax, 0xa10dc19
je 0x40913c
jmp 0x40897f
mov eax, dword [ebp - 0x19c]
sub eax, 0xd6a5370
je 0x4099c3
jmp 0x408995
mov eax, dword [ebp - 0x19c]
sub eax, 0x102164f7
je 0x408e09
jmp 0x4089ab
mov eax, dword [ebp - 0x19c]
sub eax, 0x1e508383
je 0x4097dc
jmp 0x4089c1
mov eax, dword [ebp - 0x19c]
sub eax, 0x1ff41d25
je 0x4099d2
jmp 0x4089d7
mov eax, dword [ebp - 0x19c]
sub eax, 0x2137caab
je 0x409011
jmp 0x4089ed
mov eax, dword [ebp - 0x19c]
sub eax, 0x318b8f4d
je 0x409926
jmp 0x408a03
mov eax, dword [ebp - 0x19c]
sub eax, 0x389c4ed0
je 0x4091ae
jmp 0x408a19
mov eax, dword [ebp - 0x19c]
sub eax, 0x3c4cf705
je 0x408bfb
jmp 0x408a2f
mov eax, dword [ebp - 0x19c]
sub eax, 0x4ef2c105
je 0x4099f9
jmp 0x408a45
mov eax, dword [ebp - 0x19c]
sub eax, 0x502dc3a9
je 0x40987b
jmp 0x408a5b
mov eax, dword [ebp - 0x19c]
sub eax, 0x5d3531dc
je 0x4093b1
jmp 0x408a71
mov eax, dword [ebp - 0x19c]
sub eax, 0x6063914b
je 0x408e52
jmp 0x408a87
mov eax, dword [ebp - 0x19c]
sub eax, 0x61b18b7d
je 0x409903
jmp 0x408a9d
mov eax, dword [ebp - 0x19c]
sub eax, 0x65d51940
je 0x409427
jmp 0x408ab3
mov eax, dword [ebp - 0x19c]
sub eax, 0x68ddc4e3
je 0x40959a
jmp 0x408ac9
mov eax, dword [ebp - 0x19c]
sub eax, 0x6a5f934b
je 0x40932d
jmp 0x408adf
mov eax, dword [ebp - 0x19c]
sub eax, 0x6d4afdd7
je 0x408ff0
jmp 0x408af5
mov eax, dword [ebp - 0x19c]
sub eax, 0x6f2b8e34
je 0x409071
jmp 0x408b0b
mov eax, dword [ebp - 0x19c]
sub eax, 0x6facff98
je 0x40969c
jmp 0x408b21
mov eax, dword [ebp - 0x19c]
sub eax, 0x70c0031f
je 0x408bb3
jmp 0x408b37
mov eax, dword [ebp - 0x19c]
sub eax, 0x76261035
je 0x408cb5
jmp 0x408b4d
mov eax, dword [ebp - 0x19c]
sub eax, 0x7afe6b3b
je 0x409020
jmp 0x408b63
jmp 0x409a33
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x198], 0xaba29717
jmp 0x409a33
mov edx, dword [ebp - 0x168]
mov eax, 0x8e65901c
mov ecx, 0x70c0031f
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov dword [ebp - 0x198], 0x96d304f0
jmp 0x409a33
mov ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x16c]
lea eax, [ebp - 0x11c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xc
call sub.KERNEL32.dll_K32GetModuleInformation
sub esp, 0x10
lea eax, [ebp - 0x11c]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x198], 0x3c4cf705
jmp 0x409a33
mov eax, dword [ebp - 0x164]
mov eax, dword [eax]
mov dword [ebp - 0x174], eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x198], 0xa24e2a0d
jmp 0x409a33
mov ecx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x160]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
sub esp, 0xc
lea eax, [ebp - 0x110]
xor ecx, ecx
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]
sub esp, 0x1c
mov dword [ebp - 0x178], eax
mov edx, 0xffffffff
mov eax, 0x856cf2c2
mov ecx, 0x76261035
cmp dword [ebp - 0x178], edx
cmove eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov dword [ebp - 0x198], 0x96d304f0
jmp 0x409a33
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
mov edx, eax
add edx, 0xc90f6063
sub edx, 1
sub edx, 0xc90f6063
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, 0x318b8f4d
mov ecx, 0x9c561a4b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x15c], eax
mov ecx, dword [0x43557c]
mov eax, dword [0x435578]
mov edx, ecx
sub edx, 0x5a160587
sub edx, 1
add edx, 0x5a160587
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, 0x318b8f4d
mov ecx, 0x9f36af6c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov dword [ebp - 0x198], 0xa52477ce
jmp 0x409a33
mov eax, dword [ebp - 0x15c]
xor ecx, ecx
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]
sub esp, 0x18
mov dword [ebp - 0x17c], eax
cmp dword [ebp - 0x17c], 0
setne al
and al, 1
mov byte [ebp - 0x155], al
mov dword [ebp - 0x198], 0x102164f7
jmp 0x409a33
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
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, 0xeac683cd
mov ecx, 0x6063914b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov ecx, dword [0x43557c]
mov eax, dword [0x435578]
mov edx, ecx
sub edx, 0x22fb9e15
sub edx, 1
add edx, 0x22fb9e15
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, 0xeac683cd
mov ecx, 0xf9432e44
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov dl, byte [ebp - 0x155]
mov eax, 0xf8869a3f
mov ecx, 0x7afe6b3b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov ecx, dword [0x43557c]
mov eax, dword [0x435578]
mov edx, ecx
add edx, 0xf20291b9
sub edx, 1
sub edx, 0xf20291b9
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, 0xa5b7371a
mov ecx, 0xad837cf8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x154], eax
mov ecx, dword [0x43557c]
mov eax, dword [0x435578]
mov edx, ecx
sub edx, 0x7b5cd1a7
sub edx, 1
add edx, 0x7b5cd1a7
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, 0xa5b7371a
mov ecx, 0xd35c16c2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov dword [ebp - 0x198], 0x6d4afdd7
jmp 0x409a33
mov eax, dword [ebp - 0x154]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 0x198], 0x2137caab
jmp 0x409a33
mov dword [ebp - 0x198], 0x96d304f0
jmp 0x409a33
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
mov edx, eax
add edx, 0xe96adbfc
sub edx, 1
sub edx, 0xe96adbfc
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, 0xc8c64548
mov ecx, 0x6f2b8e34
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov eax, dword [ebp - 0x17c]
xor ecx, ecx
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]
sub esp, 0x14
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x184], eax
mov ecx, dword [0x43557c]
mov eax, dword [0x435578]
mov edx, ecx
add edx, 0xba0168f5
sub edx, 1
sub edx, 0xba0168f5
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, 0xc8c64548
mov ecx, 0xeabf95e1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov dword [ebp - 0x198], 0xa10dc19
jmp 0x409a33
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x184]
mov edx, dword [ecx + 0x3c]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x188], eax
mov word [ebp - 0x18a], 0
mov dword [ebp - 0x198], 0xf8215197
jmp 0x409a33
mov dword [ebp - 0x198], 0x620f9
jmp 0x409a33
movzx eax, word [ebp - 0x18a]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x198], 0x389c4ed0
jmp 0x409a33
mov eax, dword [ebp - 0x14c]
add eax, 4
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x198], 0x4ba8bfd
jmp 0x409a33
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
mov edx, eax
add edx, 0x9f550644
sub edx, 1
sub edx, 0x9f550644
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, 0xa06aee4a
mov ecx, 0xa0034fdc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov eax, dword [ebp - 0x148]
movzx ecx, word [eax + 2]
mov eax, dword [ebp - 0x150]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x141], al
mov ecx, dword [0x43557c]
mov eax, dword [0x435578]
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, 0xa06aee4a
mov ecx, 0x86850b4b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov dl, byte [ebp - 0x141]
mov eax, 0x1e508383
mov ecx, 0x9d4f0cb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov eax, dword [ebp - 0x188]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x18
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, dword [ebp - 0x188]
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
movzx ecx, word [ebp - 0x18a]
imul ecx, ecx, 0x28
sub eax, 0x846d62ae
add eax, ecx
add eax, 0x846d62ae
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x198], 0x6a5f934b
jmp 0x409a33
mov ecx, dword [ebp - 0x140]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42d961
call fcn.00421cc0
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x139], al
mov dword [ebp - 0x198], 0xeccfa89c
jmp 0x409a33
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
mov edx, eax
sub edx, 0x56092ca6
sub edx, 1
add edx, 0x56092ca6
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, 0xd6a5370
mov ecx, 0x5d3531dc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov ecx, dword [0x43557c]
mov eax, dword [0x435578]
mov edx, ecx
sub edx, 0xd2fe7e34
sub edx, 1
add edx, 0xd2fe7e34
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, 0xd6a5370
mov ecx, 0x65d51940
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov dl, byte [ebp - 0x139]
mov eax, 0xd2e6e0e9
mov ecx, 0xc89ec800
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov dword [ebp - 0x120], 0
mov eax, dword [ebp - 0x190]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x190]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
lea eax, [ebp - 0x120]
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]
sub esp, 0x10
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x191], al
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x198], 0xa6c30068
jmp 0x409a33
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
mov edx, eax
sub edx, 0x5e236016
sub edx, 1
add edx, 0x5e236016
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, 0x1ff41d25
mov ecx, 0x5ea95d1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov eax, dword [ebp - 0x190]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x138]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x190]
add eax, 0xc
mov dword [ebp - 0x12c], eax
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
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, 0x1ff41d25
mov ecx, 0xaf46aee5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov dword [ebp - 0x198], 0x68ddc4e3
jmp 0x409a33
mov eax, dword [ebp - 0x12c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x130]
add ecx, 0x7ac72702
add ecx, eax
sub ecx, 0x7ac72702
mov eax, dword [ebp - 0x190]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x134]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041e520
mov ecx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x190]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x174]
mov eax, dword [ebp - 0x190]
mov eax, dword [eax + 0xc]
sub esi, 0xafa5b388
add esi, eax
add esi, 0xafa5b388
lea eax, [ebp - 0x120]
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]
sub esp, 0x10
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x191], al
mov dword [ebp - 0x198], 0xc89ec800
jmp 0x409a33
mov dword [ebp - 0x198], 0xfe33a7da
jmp 0x409a33
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
mov edx, eax
sub edx, 0x1227a9b5
sub edx, 1
add edx, 0x1227a9b5
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, 0x4ef2c105
mov ecx, 0x6facff98
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov ax, word [ebp - 0x18a]
sub ax, 0xdcbb
add ax, 1
add ax, 0xdcbb
mov word [ebp - 0x126], ax
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
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, 0x4ef2c105
mov ecx, 0x994818dc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov dword [ebp - 0x198], 0xe17c0f6a
jmp 0x409a33
mov ax, word [ebp - 0x126]
mov word [ebp - 0x18a], ax
mov dword [ebp - 0x198], 0x88925f3b
jmp 0x409a33
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
mov edx, eax
sub edx, 0x31a57b14
sub edx, 1
add edx, 0x31a57b14
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, 0xa8ae8dd4
mov ecx, 0x86426bf1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
mov edx, eax
add edx, 0x3f33e6a0
sub edx, 1
sub edx, 0x3f33e6a0
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, 0xa8ae8dd4
mov ecx, 0x8fb3e434
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov dword [ebp - 0x198], 0x620f9
jmp 0x409a33
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x198], 0xede13530
jmp 0x409a33
mov eax, dword [ebp - 0x124]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov eax, dword [ebp - 0x17c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 0x198], 0xd9d14fe5
jmp 0x409a33
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
mov edx, eax
sub edx, 0x3dc04438
sub edx, 1
add edx, 0x3dc04438
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, 0xb2524ca2
mov ecx, 0x502dc3a9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov eax, dword [ebp - 0x16c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov ecx, dword [0x43557c]
mov eax, dword [0x435578]
mov edx, ecx
sub edx, 0x6d43fad0
sub edx, 1
add edx, 0x6d43fad0
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, 0xb2524ca2
mov ecx, 0x61b18b7d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x409a33
mov dword [ebp - 0x198], 0x96d304f0
jmp 0x409a33
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0041d6a0
add esp, 0x1b0
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x198], 0x9c561a4b
jmp 0x409a33
mov dword [ebp - 0x198], 0x6063914b
jmp 0x409a33
mov dword [ebp - 0x198], 0xad837cf8
jmp 0x409a33
mov eax, dword [ebp - 0x17c]
xor ecx, ecx
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]
sub esp, 0x14
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x198], 0x6f2b8e34
jmp 0x409a33
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x198], 0xa0034fdc
jmp 0x409a33
mov dword [ebp - 0x198], 0x5d3531dc
jmp 0x409a33
mov eax, dword [ebp - 0x138]
mov eax, dword [ebp - 0x138]
mov eax, dword [ebp - 0x138]
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x198], 0x5ea95d1
jmp 0x409a33
mov dword [ebp - 0x198], 0x6facff98
jmp 0x409a33
mov dword [ebp - 0x198], 0x86426bf1
jmp 0x409a33
mov eax, dword [ebp - 0x16c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 0x198], 0x502dc3a9
jmp 0x4085f3