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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x9c
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa4], eax
mov eax, dword [0x431080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x432584]
mov eax, dword [0x432580]
mov edx, ecx
sub edx, 0x72c2c70c
sub edx, 1
add edx, 0x72c2c70c
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], 0x84d91b00
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa8], eax
sub eax, 0x82911c03
je 0x408cd9
jmp 0x408124
mov eax, dword [ebp - 0xa8]
sub eax, 0x84d91b00
je 0x408651
jmp 0x40813a
mov eax, dword [ebp - 0xa8]
sub eax, 0x86525459
je 0x408ffc
jmp 0x408150
mov eax, dword [ebp - 0xa8]
sub eax, 0x8fa74140
je 0x408761
jmp 0x408166
mov eax, dword [ebp - 0xa8]
sub eax, 0x93e3f579
je 0x408b3f
jmp 0x40817c
mov eax, dword [ebp - 0xa8]
sub eax, 0x9e021fee
je 0x409032
jmp 0x408192
mov eax, dword [ebp - 0xa8]
sub eax, 0xa0993624
je 0x4091cb
jmp 0x4081a8
mov eax, dword [ebp - 0xa8]
sub eax, 0xa55fa589
je 0x408c4c
jmp 0x4081be
mov eax, dword [ebp - 0xa8]
sub eax, 0xa61db6ef
je 0x40942b
jmp 0x4081d4
mov eax, dword [ebp - 0xa8]
sub eax, 0xa6609744
je 0x4091bc
jmp 0x4081ea
mov eax, dword [ebp - 0xa8]
sub eax, 0xa6e49692
je 0x408f53
jmp 0x408200
mov eax, dword [ebp - 0xa8]
sub eax, 0xa9ab7369
je 0x4091a3
jmp 0x408216
mov eax, dword [ebp - 0xa8]
sub eax, 0xb46ec286
je 0x408770
jmp 0x40822c
mov eax, dword [ebp - 0xa8]
sub eax, 0xb6ed786c
je 0x408e3b
jmp 0x408242
mov eax, dword [ebp - 0xa8]
sub eax, 0xb82c48ad
je 0x408ddb
jmp 0x408258
mov eax, dword [ebp - 0xa8]
sub eax, 0xc4be540f
je 0x4086a5
jmp 0x40826e
mov eax, dword [ebp - 0xa8]
sub eax, 0xc99d4f45
je 0x408ee6
jmp 0x408284
mov eax, dword [ebp - 0xa8]
sub eax, 0xcbd1b42a
je 0x408f6d
jmp 0x40829a
mov eax, dword [ebp - 0xa8]
sub eax, 0xcc5130f0
je 0x408f91
jmp 0x4082b0
mov eax, dword [ebp - 0xa8]
sub eax, 0xd171f387
je 0x40949c
jmp 0x4082c6
mov eax, dword [ebp - 0xa8]
sub eax, 0xd4edff49
je 0x40892e
jmp 0x4082dc
mov eax, dword [ebp - 0xa8]
sub eax, 0xd6751baa
je 0x408bde
jmp 0x4082f2
mov eax, dword [ebp - 0xa8]
sub eax, 0xdc38918b
je 0x408cca
jmp 0x408308
mov eax, dword [ebp - 0xa8]
sub eax, 0xe145bded
je 0x4087f2
jmp 0x40831e
mov eax, dword [ebp - 0xa8]
sub eax, 0xe4bf313c
je 0x4090a8
jmp 0x408334
mov eax, dword [ebp - 0xa8]
sub eax, 0xeef21df2
je 0x408af6
jmp 0x40834a
mov eax, dword [ebp - 0xa8]
sub eax, 0xf3da2619
je 0x408b4e
jmp 0x408360
mov eax, dword [ebp - 0xa8]
sub eax, 0xf59e5807
je 0x40951c
jmp 0x408376
mov eax, dword [ebp - 0xa8]
sub eax, 0xfa3f87cc
je 0x4093fb
jmp 0x40838c
mov eax, dword [ebp - 0xa8]
sub eax, 0xfeb9b25d
je 0x40948d
jmp 0x4083a2
mov eax, dword [ebp - 0xa8]
sub eax, 0xff5ac693
je 0x408cf7
jmp 0x4083b8
mov eax, dword [ebp - 0xa8]
sub eax, 0x7fd3f66
je 0x409177
jmp 0x4083ce
mov eax, dword [ebp - 0xa8]
sub eax, 0x929b289
je 0x4094ae
jmp 0x4083e4
mov eax, dword [ebp - 0xa8]
sub eax, 0x977f2b4
je 0x408dea
jmp 0x4083fa
mov eax, dword [ebp - 0xa8]
sub eax, 0xbdf3ca9
je 0x408a07
jmp 0x408410
mov eax, dword [ebp - 0xa8]
sub eax, 0xca5c75f
je 0x4090d3
jmp 0x408426
mov eax, dword [ebp - 0xa8]
sub eax, 0xe0cd104
je 0x408fe7
jmp 0x40843c
mov eax, dword [ebp - 0xa8]
sub eax, 0xe337e79
je 0x408a88
jmp 0x408452
mov eax, dword [ebp - 0xa8]
sub eax, 0x16dd6f54
je 0x408a6a
jmp 0x408468
mov eax, dword [ebp - 0xa8]
sub eax, 0x224be2bb
je 0x409551
jmp 0x40847e
mov eax, dword [ebp - 0xa8]
sub eax, 0x24cf81ca
je 0x4092f1
jmp 0x408494
mov eax, dword [ebp - 0xa8]
sub eax, 0x26f2d7af
je 0x4094bd
jmp 0x4084aa
mov eax, dword [ebp - 0xa8]
sub eax, 0x310ff3c3
je 0x409258
jmp 0x4084c0
mov eax, dword [ebp - 0xa8]
sub eax, 0x3327d9ec
je 0x40891f
jmp 0x4084d6
mov eax, dword [ebp - 0xa8]
sub eax, 0x381fa051
je 0x408810
jmp 0x4084ec
mov eax, dword [ebp - 0xa8]
sub eax, 0x386a58c2
je 0x4089b6
jmp 0x408502
mov eax, dword [ebp - 0xa8]
sub eax, 0x3bac54ec
je 0x40881f
jmp 0x408518
mov eax, dword [ebp - 0xa8]
sub eax, 0x3dad6e58
je 0x408bc0
jmp 0x40852e
mov eax, dword [ebp - 0xa8]
sub eax, 0x3eb4bd33
je 0x40941c
jmp 0x408544
mov eax, dword [ebp - 0xa8]
sub eax, 0x52d4b1c7
je 0x40940a
jmp 0x40855a
mov eax, dword [ebp - 0xa8]
sub eax, 0x5db9ec3f
je 0x40947b
jmp 0x408570
mov eax, dword [ebp - 0xa8]
sub eax, 0x61ae130e
je 0x408ef5
jmp 0x408586
mov eax, dword [ebp - 0xa8]
sub eax, 0x65a6aa4f
je 0x4091e2
jmp 0x40859c
mov eax, dword [ebp - 0xa8]
sub eax, 0x664291f5
je 0x408d65
jmp 0x4085b2
mov eax, dword [ebp - 0xa8]
sub eax, 0x6a0a6537
je 0x409168
jmp 0x4085c8
mov eax, dword [ebp - 0xa8]
sub eax, 0x6a24c103
je 0x409300
jmp 0x4085de
mov eax, dword [ebp - 0xa8]
sub eax, 0x6ccd7c3f
je 0x408b9b
jmp 0x4085f4
mov eax, dword [ebp - 0xa8]
sub eax, 0x75a9c6b5
je 0x408f3b
jmp 0x40860a
mov eax, dword [ebp - 0xa8]
sub eax, 0x78445662
je 0x40888d
jmp 0x408620
mov eax, dword [ebp - 0xa8]
sub eax, 0x7d4e3054
je 0x408f1c
jmp 0x408636
mov eax, dword [ebp - 0xa8]
sub eax, 0x7f0e70f2
je 0x409376
jmp 0x40864c
jmp 0x40956a
mov bl, byte [ebp - 0x9a]
mov dh, byte [ebp - 0x99]
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, 0x3eb4bd33
mov ecx, 0xc4be540f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
push eax
mov eax, esp
mov dword [ebp - 0x98], eax
push eax
mov eax, esp
mov dword [ebp - 0x94], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x90], eax
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x84], eax
push eax
mov eax, esp
mov dword [ebp - 0x80], eax
push eax
mov eax, esp
mov dword [ebp - 0x7c], eax
push eax
mov eax, esp
mov dword [ebp - 0x78], eax
push eax
mov eax, esp
mov dword [ebp - 0x74], eax
push eax
mov eax, esp
mov dword [ebp - 0x70], eax
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
push eax
mov eax, esp
mov dword [ebp - 0x68], eax
push eax
mov eax, esp
mov dword [ebp - 0x64], eax
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
mov eax, dword [0x432584]
mov ecx, dword [0x432580]
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, 0x3eb4bd33
mov ecx, 0x8fa74140
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
mov dword [ebp - 0xa0], 0xb46ec286
jmp 0x40956a
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
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.0041ba70
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 eax, dword [ebp - 0x8c]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x59], al
mov dword [ebp - 0xa0], 0xe145bded
jmp 0x40956a
mov dl, byte [ebp - 0x59]
mov eax, 0x381fa051
mov ecx, 0x3bac54ec
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
mov dword [ebp - 0xa0], 0x52d4b1c7
jmp 0x40956a
mov ecx, dword [0x432584]
mov eax, dword [0x432580]
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, 0xa61db6ef
mov ecx, 0x78445662
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
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 [0x432584]
mov ecx, dword [0x432580]
mov edx, eax
sub edx, 0x8593e72f
sub edx, 1
add edx, 0x8593e72f
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, 0xa61db6ef
mov ecx, 0x3327d9ec
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
mov dword [ebp - 0xa0], 0xd4edff49
jmp 0x40956a
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 eax, dword [eax]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0xa0], 0x386a58c2
jmp 0x40956a
mov eax, dword [0x432584]
mov ecx, dword [0x432580]
mov edx, eax
add edx, 0xc9e0b95e
sub edx, 1
sub edx, 0xc9e0b95e
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, 0x5db9ec3f
mov ecx, 0xbdf3ca9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
mov eax, dword [ebp - 0x58]
mov ecx, 0xffffffff
cmp eax, ecx
sete al
and al, 1
mov byte [ebp - 0x51], al
mov eax, dword [0x432584]
mov ecx, dword [0x432580]
mov edx, eax
sub edx, 0xdab66bcf
sub edx, 1
add edx, 0xdab66bcf
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, 0x5db9ec3f
mov ecx, 0x16dd6f54
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
mov dl, byte [ebp - 0x51]
mov eax, 0xf3da2619
mov ecx, 0xe337e79
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
mov ecx, dword [0x432584]
mov eax, dword [0x432580]
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, 0xfeb9b25d
mov ecx, 0xeef21df2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
mov eax, dword [0x432584]
mov ecx, dword [0x432580]
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, 0xfeb9b25d
mov ecx, 0x93e3f579
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
mov dword [ebp - 0xa0], 0x52d4b1c7
jmp 0x40956a
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 dword [ebp - 0xa0], 0x6ccd7c3f
jmp 0x40956a
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x49], al
mov dword [ebp - 0xa0], 0x3dad6e58
jmp 0x40956a
mov dl, byte [ebp - 0x49]
mov eax, 0xd6751baa
mov ecx, 0x977f2b4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
mov ecx, dword [0x432584]
mov eax, dword [0x432580]
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, 0xd171f387
mov ecx, 0xa55fa589
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov ecx, dword [0x432584]
mov eax, dword [0x432580]
mov edx, ecx
add edx, 0xa9dc1832
sub edx, 1
sub edx, 0xa9dc1832
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, 0xd171f387
mov ecx, 0xdc38918b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
mov dword [ebp - 0xa0], 0x82911c03
jmp 0x40956a
mov eax, dword [ebp - 0x48]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0xff5ac693
jmp 0x40956a
mov ecx, dword [0x432584]
mov eax, dword [0x432580]
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, 0x929b289
mov ecx, 0x664291f5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
mov ecx, dword [0x432584]
mov eax, dword [0x432580]
mov edx, ecx
sub edx, 0x61e3fbb5
sub edx, 1
add edx, 0x61e3fbb5
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, 0x929b289
mov ecx, 0xb82c48ad
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
mov dword [ebp - 0xa0], 0x52d4b1c7
jmp 0x40956a
mov eax, dword [0x432584]
mov ecx, dword [0x432580]
mov edx, eax
sub edx, 0x853e3ba1
sub edx, 1
add edx, 0x853e3ba1
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, 0x26f2d7af
mov ecx, 0xb6ed786c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
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 [0x432584]
mov ecx, dword [0x432580]
mov edx, eax
sub edx, 0x3fdc6066
sub edx, 1
add edx, 0x3fdc6066
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, 0x26f2d7af
mov ecx, 0xc99d4f45
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
mov dword [ebp - 0xa0], 0x61ae130e
jmp 0x40956a
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x44]
sub eax, 0xe719c89a
add eax, ecx
add eax, 0xe719c89a
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xa0], 0x7d4e3054
jmp 0x40956a
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 - 0xa0], 0x75a9c6b5
jmp 0x40956a
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xa0], 0xa6e49692
jmp 0x40956a
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xa0], 0xcbd1b42a
jmp 0x40956a
mov eax, dword [ebp - 0x34]
movzx esi, word [eax + 2]
mov edx, dword [ebp - 0x38]
mov eax, 0xa0993624
mov ecx, 0xcc5130f0
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
xor eax, eax
sub eax, 0x18
sub ecx, eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
movzx edx, word [eax + 0x14]
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
sub ecx, 0x7c8e0ce3
add ecx, eax
add ecx, 0x7c8e0ce3
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xa0], 0xe0cd104
jmp 0x40956a
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xa0], 0x86525459
jmp 0x40956a
mov ecx, dword [ebp - 0x2c]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42a961
call fcn.0041f370
add esp, 8
mov edx, eax
mov eax, 0x9e021fee
mov ecx, 0x6a0a6537
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
mov eax, dword [ebp - 0x64]
mov dword [eax], 0
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x1c3dbb33
add edx, eax
add edx, 0x1c3dbb33
mov eax, dword [ebp - 0x64]
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 - 0x60]
mov byte [eax], cl
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xa0], 0xe4bf313c
jmp 0x40956a
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xa0], 0xca5c75f
jmp 0x40956a
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0x7824285b
add ecx, eax
sub ecx, 0x7824285b
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x24]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041bbd0
add esp, 0xc
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
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 edi, dword [eax + 0xc]
xor eax, eax
sub eax, edi
sub esi, eax
mov eax, dword [ebp - 0x64]
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 - 0xa0], 0x6a0a6537
jmp 0x40956a
mov dword [ebp - 0xa0], 0x7fd3f66
jmp 0x40956a
mov eax, dword [ebp - 0x6c]
mov ax, word [eax]
xor ecx, ecx
sub cx, ax
xor eax, eax
sub ax, 1
add cx, ax
xor eax, eax
sub ax, cx
mov word [ebp - 0x1a], ax
mov dword [ebp - 0xa0], 0xa9ab7369
jmp 0x40956a
mov eax, dword [ebp - 0x6c]
mov cx, word [ebp - 0x1a]
mov word [eax], cx
mov dword [ebp - 0xa0], 0xa6609744
jmp 0x40956a
mov dword [ebp - 0xa0], 0x75a9c6b5
jmp 0x40956a
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xa0], 0x65a6aa4f
jmp 0x40956a
mov ecx, dword [0x432584]
mov eax, dword [0x432580]
mov edx, ecx
add edx, 0xb7e9a4f7
sub edx, 1
sub edx, 0xb7e9a4f7
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, 0xf59e5807
mov ecx, 0x310ff3c3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
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 - 0x14], eax
mov ecx, dword [0x432584]
mov eax, dword [0x432580]
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, 0xf59e5807
mov ecx, 0x24cf81ca
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
mov dword [ebp - 0xa0], 0x6a24c103
jmp 0x40956a
mov ecx, dword [0x432584]
mov eax, dword [0x432580]
mov edx, ecx
sub edx, 0xef1793ed
sub edx, 1
add edx, 0xef1793ed
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, 0x224be2bb
mov ecx, 0x7f0e70f2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x432584]
mov eax, dword [0x432580]
mov edx, ecx
add edx, 0xc1c01481
sub edx, 1
sub edx, 0xc1c01481
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, 0x224be2bb
mov ecx, 0xfa3f87cc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40956a
mov dword [ebp - 0xa0], 0x52d4b1c7
jmp 0x40956a
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041ad80
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0xa0], 0xc4be540f
jmp 0x40956a
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 dword [ebp - 0xa0], 0x78445662
jmp 0x40956a
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0xa0], 0xbdf3ca9
jmp 0x40956a
mov dword [ebp - 0xa0], 0xeef21df2
jmp 0x40956a
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa0], 0xa55fa589
jmp 0x40956a
mov dword [ebp - 0xa0], 0x664291f5
jmp 0x40956a
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 - 0xa0], 0xb6ed786c
jmp 0x40956a
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0xa0], 0x310ff3c3
jmp 0x40956a
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0x7f0e70f2
jmp 0x408108