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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x9c
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa0], eax
mov eax, dword [0x433080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x9c], 0x3c7c6233
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xa4], eax
sub eax, 0x834faf50
je 0x409768
jmp 0x408204
mov eax, dword [ebp - 0xa4]
sub eax, 0x8412ce1d
je 0x409b8e
jmp 0x40821a
mov eax, dword [ebp - 0xa4]
sub eax, 0x867eeec4
je 0x408ee9
jmp 0x408230
mov eax, dword [ebp - 0xa4]
sub eax, 0x88771a57
je 0x408f83
jmp 0x408246
mov eax, dword [ebp - 0xa4]
sub eax, 0x8c26a59e
je 0x409b70
jmp 0x40825c
mov eax, dword [ebp - 0xa4]
sub eax, 0x8cf94a61
je 0x409b9d
jmp 0x408272
mov eax, dword [ebp - 0xa4]
sub eax, 0x93ac4119
je 0x40971f
jmp 0x408288
mov eax, dword [ebp - 0xa4]
sub eax, 0x9476e1ad
je 0x408e63
jmp 0x40829e
mov eax, dword [ebp - 0xa4]
sub eax, 0x95784cc9
je 0x408a6b
jmp 0x4082b4
mov eax, dword [ebp - 0xa4]
sub eax, 0x9a07fb7e
je 0x408a89
jmp 0x4082ca
mov eax, dword [ebp - 0xa4]
sub eax, 0x9a345c6c
je 0x408ecb
jmp 0x4082e0
mov eax, dword [ebp - 0xa4]
sub eax, 0xa5585526
je 0x409a1c
jmp 0x4082f6
mov eax, dword [ebp - 0xa4]
sub eax, 0xa620e248
je 0x409602
jmp 0x40830c
mov eax, dword [ebp - 0xa4]
sub eax, 0xaa301fce
je 0x4089d0
jmp 0x408322
mov eax, dword [ebp - 0xa4]
sub eax, 0xab042396
je 0x408962
jmp 0x408338
mov eax, dword [ebp - 0xa4]
sub eax, 0xaba1c1f3
je 0x408b80
jmp 0x40834e
mov eax, dword [ebp - 0xa4]
sub eax, 0xac794047
je 0x409afa
jmp 0x408364
mov eax, dword [ebp - 0xa4]
sub eax, 0xac813b69
je 0x408e12
jmp 0x40837a
mov eax, dword [ebp - 0xa4]
sub eax, 0xb9da3333
je 0x408f92
jmp 0x408390
mov eax, dword [ebp - 0xa4]
sub eax, 0xbb1130b8
je 0x408c65
jmp 0x4083a6
mov eax, dword [ebp - 0xa4]
sub eax, 0xbd922eec
je 0x409a42
jmp 0x4083bc
mov eax, dword [ebp - 0xa4]
sub eax, 0xd798e9e1
je 0x409068
jmp 0x4083d2
mov eax, dword [ebp - 0xa4]
sub eax, 0xd9433feb
je 0x408ae3
jmp 0x4083e8
mov eax, dword [ebp - 0xa4]
sub eax, 0xdaabbe67
je 0x408f32
jmp 0x4083fe
mov eax, dword [ebp - 0xa4]
sub eax, 0xdbfa6dc9
je 0x408d57
jmp 0x408414
mov eax, dword [ebp - 0xa4]
sub eax, 0xdc130e9d
je 0x409cfa
jmp 0x40842a
mov eax, dword [ebp - 0xa4]
sub eax, 0xdd12d43e
je 0x4095f3
jmp 0x408440
mov eax, dword [ebp - 0xa4]
sub eax, 0xddf04c05
je 0x4096b8
jmp 0x408456
mov eax, dword [ebp - 0xa4]
sub eax, 0xe3eadb2f
je 0x409b5e
jmp 0x40846c
mov eax, dword [ebp - 0xa4]
sub eax, 0xe554ea88
je 0x409c8a
jmp 0x408482
mov eax, dword [ebp - 0xa4]
sub eax, 0xe61439b5
je 0x409008
jmp 0x408498
mov eax, dword [ebp - 0xa4]
sub eax, 0xe81b287e
je 0x40981a
jmp 0x4084ae
mov eax, dword [ebp - 0xa4]
sub eax, 0xeea91474
je 0x409294
jmp 0x4084c4
mov eax, dword [ebp - 0xa4]
sub eax, 0xf0ec58f1
je 0x408c47
jmp 0x4084da
mov eax, dword [ebp - 0xa4]
sub eax, 0xf1554fe9
je 0x4098f0
jmp 0x4084f0
mov eax, dword [ebp - 0xa4]
sub eax, 0xf20bd258
je 0x4092b3
jmp 0x408506
mov eax, dword [ebp - 0xa4]
sub eax, 0xf8da1a30
je 0x408cf7
jmp 0x40851c
mov eax, dword [ebp - 0xa4]
sub eax, 0xfaaff7ae
je 0x409b44
jmp 0x408532
mov eax, dword [ebp - 0xa4]
sub eax, 0xfde72b37
je 0x409aab
jmp 0x408548
mov eax, dword [ebp - 0xa4]
sub eax, 0xff1a4446
je 0x408a98
jmp 0x40855e
mov eax, dword [ebp - 0xa4]
sub eax, 0x4c5f10
je 0x409417
jmp 0x408574
mov eax, dword [ebp - 0xa4]
sub eax, 0x336b56c
je 0x409145
jmp 0x40858a
mov eax, dword [ebp - 0xa4]
sub eax, 0xbbdcc6e
je 0x409555
jmp 0x4085a0
mov eax, dword [ebp - 0xa4]
sub eax, 0xcd10738
je 0x409a68
jmp 0x4085b6
mov eax, dword [ebp - 0xa4]
sub eax, 0x117f267a
je 0x4090c8
jmp 0x4085cc
mov eax, dword [ebp - 0xa4]
sub eax, 0x12ef3aeb
je 0x408bd1
jmp 0x4085e2
mov eax, dword [ebp - 0xa4]
sub eax, 0x1662fa45
je 0x409499
jmp 0x4085f8
mov eax, dword [ebp - 0xa4]
sub eax, 0x1b2b8ab2
je 0x4094e7
jmp 0x40860e
mov eax, dword [ebp - 0xa4]
sub eax, 0x1e053de3
je 0x4094b7
jmp 0x408624
mov eax, dword [ebp - 0xa4]
sub eax, 0x207a09d7
je 0x409c23
jmp 0x40863a
mov eax, dword [ebp - 0xa4]
sub eax, 0x22bcdded
je 0x409aeb
jmp 0x408650
mov eax, dword [ebp - 0xa4]
sub eax, 0x239baf2a
je 0x4092cb
jmp 0x408666
mov eax, dword [ebp - 0xa4]
sub eax, 0x260cb239
je 0x409ceb
jmp 0x40867c
mov eax, dword [ebp - 0xa4]
sub eax, 0x264a32b6
je 0x409136
jmp 0x408692
mov eax, dword [ebp - 0xa4]
sub eax, 0x26abbd6f
je 0x4093a1
jmp 0x4086a8
mov eax, dword [ebp - 0xa4]
sub eax, 0x291ca394
je 0x40997f
jmp 0x4086be
mov eax, dword [ebp - 0xa4]
sub eax, 0x2bb2016b
je 0x4091b3
jmp 0x4086d4
mov eax, dword [ebp - 0xa4]
sub eax, 0x2faffa9a
je 0x409a2b
jmp 0x4086ea
mov eax, dword [ebp - 0xa4]
sub eax, 0x329ada7a
je 0x4098e1
jmp 0x408700
mov eax, dword [ebp - 0xa4]
sub eax, 0x33490e53
je 0x409909
jmp 0x408716
mov eax, dword [ebp - 0xa4]
sub eax, 0x37e7a69f
je 0x409890
jmp 0x40872c
mov eax, dword [ebp - 0xa4]
sub eax, 0x3bcaa8f0
je 0x408cae
jmp 0x408742
mov eax, dword [ebp - 0xa4]
sub eax, 0x3c7c6233
je 0x4088a7
jmp 0x408758
mov eax, dword [ebp - 0xa4]
sub eax, 0x43330f5b
je 0x40926d
jmp 0x40876e
mov eax, dword [ebp - 0xa4]
sub eax, 0x47390dfa
je 0x409077
mov eax, dword [ebp - 0xa0]
push eax
mov ecx, esp
mov dword [ebp - 0x94], ecx
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x90], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x8c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x88], ecx
sub esp, 0x104
mov ecx, esp
mov dword [ebp - 0x84], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x80], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x7c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x78], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x74], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x70], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x6c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x68], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x64], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x98], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x94]
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.0041d8d0
add esp, 0xc
mov dword [ebp - 0x9c], 0xab042396
jmp 0x409d24
mov ecx, dword [0x434584]
mov eax, dword [0x434580]
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, 0xfde72b37
mov ecx, 0xaa301fce
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov eax, dword [ebp - 0x98]
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 eax, dword [ebp - 0x8c]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x59], al
mov ecx, dword [0x434584]
mov eax, dword [0x434580]
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, 0xfde72b37
mov ecx, 0x95784cc9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov dl, byte [ebp - 0x59]
mov eax, 0x9a07fb7e
mov ecx, 0xff1a4446
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov dword [ebp - 0x9c], 0x49bc843e
jmp 0x409d24
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 eax, dword [eax]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x9c], 0xd9433feb
jmp 0x409d24
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x8c]
mov ecx, dword [ecx]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov eax, dword [ebp - 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 ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x51], al
mov dword [ebp - 0x9c], 0xaba1c1f3
jmp 0x409d24
mov eax, dword [0x434584]
mov ecx, dword [0x434580]
mov edx, eax
add edx, 0xa2a01a1c
sub edx, 1
sub edx, 0xa2a01a1c
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, 0x4d43f50e
mov ecx, 0x12ef3aeb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov ecx, dword [0x434584]
mov eax, dword [0x434580]
mov edx, ecx
sub edx, 0x7b72ec78
sub edx, 1
add edx, 0x7b72ec78
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, 0x4d43f50e
mov ecx, 0xf0ec58f1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov dl, byte [ebp - 0x51]
mov eax, 0x75f70c47
mov ecx, 0xbb1130b8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov eax, dword [0x434584]
mov ecx, dword [0x434580]
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, 0x22bcdded
mov ecx, 0x3bcaa8f0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov eax, dword [0x434584]
mov ecx, dword [0x434580]
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, 0x22bcdded
mov ecx, 0xf8da1a30
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov dword [ebp - 0x9c], 0x49bc843e
jmp 0x409d24
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1000002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [ebp - 0x50], eax
mov ecx, dword [0x434584]
mov eax, dword [0x434580]
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, 0xac794047
mov ecx, 0x5a387bec
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov eax, dword [0x434584]
mov ecx, dword [0x434580]
mov edx, eax
sub edx, 0xf794eebe
sub edx, 1
add edx, 0xf794eebe
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, 0xfaaff7ae
mov ecx, 0x9476e1ad
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov eax, dword [0x434584]
mov ecx, dword [0x434580]
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, 0xfaaff7ae
mov ecx, 0x49ace4c9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov edx, dword [ebp - 0x4c]
mov eax, 0x867eeec4
mov ecx, 0x336b56c
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov eax, dword [0x434584]
mov ecx, dword [0x434580]
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, 0xe3eadb2f
mov ecx, 0xdaabbe67
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov eax, dword [0x434584]
mov ecx, dword [0x434580]
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, 0xe3eadb2f
mov ecx, 0x88771a57
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov dword [ebp - 0x9c], 0xb9da3333
jmp 0x409d24
mov ecx, dword [0x434584]
mov eax, dword [0x434580]
mov edx, ecx
sub edx, 0x56231515
sub edx, 1
add edx, 0x56231515
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, 0x8c26a59e
mov ecx, 0xe61439b5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov eax, dword [ebp - 0x48]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x434584]
mov ecx, dword [0x434580]
mov edx, eax
sub edx, 0xb37fd746
sub edx, 1
add edx, 0xb37fd746
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, 0x8c26a59e
mov ecx, 0xd798e9e1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov dword [ebp - 0x9c], 0x47390dfa
jmp 0x409d24
mov ecx, dword [0x434584]
mov eax, dword [0x434580]
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, 0x8412ce1d
mov ecx, 0x264a32b6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov dword [ebp - 0x9c], 0x49bc843e
jmp 0x409d24
mov ecx, dword [0x434584]
mov eax, dword [0x434580]
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, 0x8cf94a61
mov ecx, 0x2bb2016b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
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 - 0x44], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov eax, dword [0x434584]
mov ecx, dword [0x434580]
mov edx, eax
sub edx, 0x2ba97392
sub edx, 1
add edx, 0x2ba97392
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, 0x8cf94a61
mov ecx, 0x699b3693
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x44]
add eax, 0x2b0e2e22
add eax, ecx
sub eax, 0x2b0e2e22
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x9c], 0xeea91474
jmp 0x409d24
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
mov word [eax], 0
mov dword [ebp - 0x9c], 0xf20bd258
jmp 0x409d24
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x9c], 0x239baf2a
jmp 0x409d24
mov eax, dword [0x434584]
mov ecx, dword [0x434580]
mov edx, eax
sub edx, 0x2324fd89
sub edx, 1
add edx, 0x2324fd89
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, 0x5687d211
mov ecx, 0x79a78b72
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov ecx, dword [0x434584]
mov eax, dword [0x434580]
mov edx, ecx
sub edx, 0x4020457c
sub edx, 1
add edx, 0x4020457c
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, 0x60244df1
mov ecx, 0x4c5f10
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov eax, dword [ebp - 0x34]
movzx ecx, word [eax + 6]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x2d], al
mov ecx, dword [0x434584]
mov eax, dword [0x434580]
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, 0x60244df1
mov ecx, 0x1662fa45
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov dl, byte [ebp - 0x2d]
mov eax, 0x2faffa9a
mov ecx, 0x1e053de3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
add eax, 0x4bcf6c02
add eax, 0x18
sub eax, 0x4bcf6c02
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
movzx eax, word [eax + 0x14]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x9c], 0x1b2b8ab2
jmp 0x409d24
mov ecx, dword [0x434584]
mov eax, dword [0x434580]
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, 0x207a09d7
mov ecx, 0xbbdcc6e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 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]
movzx eax, word [eax]
imul eax, eax, 0x28
add ecx, 0x8458bdaf
add ecx, eax
sub ecx, 0x8458bdaf
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov ecx, dword [0x434584]
mov eax, dword [0x434580]
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, 0x207a09d7
mov ecx, 0xdd12d43e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov dword [ebp - 0x9c], 0xa620e248
jmp 0x409d24
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42c959
call fcn.004211d0
add esp, 8
mov edx, eax
mov eax, 0x5ad52e6b
mov ecx, 0xe81b287e
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x24]
add edx, 0xe5e51970
add edx, eax
sub edx, 0xe5e51970
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub ecx, 0x4387c8f8
add ecx, eax
add ecx, 0x4387c8f8
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 8]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041da30
add esp, 0xc
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x9c], 0x93ac4119
jmp 0x409d24
mov eax, dword [0x434584]
mov ecx, dword [0x434580]
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, 0xe554ea88
mov ecx, 0x834faf50
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x88]
mov esi, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0x2aa2657a
add esi, eax
sub esi, 0x2aa2657a
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1c]
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 - 0x60]
mov byte [eax], cl
mov eax, dword [0x434584]
mov ecx, dword [0x434580]
mov edx, eax
sub edx, 0x5bf6c761
sub edx, 1
add edx, 0x5bf6c761
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, 0xe554ea88
mov ecx, 0x7a219f53
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov ecx, dword [0x434584]
mov eax, dword [0x434580]
mov edx, ecx
sub edx, 0x8b558758
sub edx, 1
add edx, 0x8b558758
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, 0x260cb239
mov ecx, 0x37e7a69f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov eax, dword [0x434584]
mov ecx, dword [0x434580]
mov edx, eax
sub edx, 0xf3662586
sub edx, 1
add edx, 0xf3662586
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, 0x260cb239
mov ecx, 0x329ada7a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov dword [ebp - 0x9c], 0xf1554fe9
jmp 0x409d24
mov eax, dword [ebp - 0x6c]
mov ax, word [eax]
mov word [ebp - 0x16], ax
mov dword [ebp - 0x9c], 0x33490e53
jmp 0x409d24
mov ecx, dword [0x434584]
mov eax, dword [0x434580]
mov edx, ecx
add edx, 0xe3d10de4
sub edx, 1
sub edx, 0xe3d10de4
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, 0xdc130e9d
mov ecx, 0x291ca394
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov cx, word [ebp - 0x16]
sub cx, 0xc800
add cx, 1
add cx, 0xc800
mov eax, dword [ebp - 0x6c]
mov word [eax], cx
mov ecx, dword [0x434584]
mov eax, dword [0x434580]
mov edx, ecx
add edx, 0xa9b71101
sub edx, 1
sub edx, 0xa9b71101
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, 0xdc130e9d
mov ecx, 0x6b5bb609
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x409d24
mov dword [ebp - 0x9c], 0xf20bd258
jmp 0x409d24
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x9c], 0xbd922eec
jmp 0x409d24
mov eax, dword [ebp - 0x14]
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 - 0x10], eax
mov dword [ebp - 0x9c], 0xcd10738
jmp 0x409d24
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x9c], 0x49bc843e
jmp 0x409d24
mov eax, dword [ebp - 0x98]
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 eax, dword [ebp - 0x8c]
mov dword [ebp - 0x9c], 0xaa301fce
jmp 0x409d24
mov dword [ebp - 0x9c], 0x3bcaa8f0
jmp 0x409d24
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1000002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [ebp - 0x9c], 0xdbfa6dc9
jmp 0x409d24
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x9c], 0x9476e1ad
jmp 0x409d24
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x9c], 0xdaabbe67
jmp 0x409d24
mov eax, dword [ebp - 0x48]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x9c], 0xe61439b5
jmp 0x409d24
mov dword [ebp - 0x9c], 0x117f267a
jmp 0x409d24
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 [ebp - 0x74]
mov dword [ebp - 0x9c], 0x2bb2016b
jmp 0x409d24
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 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]
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 dword [ebp - 0x9c], 0xbbdcc6e
jmp 0x409d24
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x88]
mov esi, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0xc99dce78
add esi, eax
add esi, 0xc99dce78
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1c]
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 - 0x60]
mov byte [eax], cl
mov dword [ebp - 0x9c], 0x834faf50
jmp 0x409d24
mov dword [ebp - 0x9c], 0x37e7a69f
jmp 0x409d24
mov ax, word [ebp - 0x16]
mov ax, word [ebp - 0x16]
mov cx, word [ebp - 0x16]
add cx, 0x1c84
add cx, 1
sub cx, 0x1c84
mov eax, dword [ebp - 0x6c]
mov word [eax], cx
mov dword [ebp - 0x9c], 0x291ca394
jmp 0x4081e8