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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xa8
mov eax, dword [ebp + 8]
mov dword [ebp - 0xac], eax
mov eax, dword [0x43a080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0xa8], 0xdd34f0b0
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
sub eax, 0x85891230
je 0x40a247
jmp 0x408c44
mov eax, dword [ebp - 0xb0]
sub eax, 0x877fed7b
je 0x40947b
jmp 0x408c5a
mov eax, dword [ebp - 0xb0]
sub eax, 0x894aceb8
je 0x40994b
jmp 0x408c70
mov eax, dword [ebp - 0xb0]
sub eax, 0x972aeeae
je 0x409615
jmp 0x408c86
mov eax, dword [ebp - 0xb0]
sub eax, 0x981c50d6
je 0x40995a
jmp 0x408c9c
mov eax, dword [ebp - 0xb0]
sub eax, 0x99404851
je 0x40a1c1
jmp 0x408cb2
mov eax, dword [ebp - 0xb0]
sub eax, 0x9b3d18a9
je 0x409857
jmp 0x408cc8
mov eax, dword [ebp - 0xb0]
sub eax, 0xa3fa813c
je 0x409be2
jmp 0x408cde
mov eax, dword [ebp - 0xb0]
sub eax, 0xa51305d6
je 0x409bd3
jmp 0x408cf4
mov eax, dword [ebp - 0xb0]
sub eax, 0xa8025759
je 0x40970c
jmp 0x408d0a
mov eax, dword [ebp - 0xb0]
sub eax, 0xb4d22d2c
je 0x409b1a
jmp 0x408d20
mov eax, dword [ebp - 0xb0]
sub eax, 0xb81a3bb5
je 0x409dcd
jmp 0x408d36
mov eax, dword [ebp - 0xb0]
sub eax, 0xb9f255de
je 0x40a25e
jmp 0x408d4c
mov eax, dword [ebp - 0xb0]
sub eax, 0xbe21a98f
je 0x40a051
jmp 0x408d62
mov eax, dword [ebp - 0xb0]
sub eax, 0xbef299c4
je 0x409423
jmp 0x408d78
mov eax, dword [ebp - 0xb0]
sub eax, 0xc09eba47
je 0x40a38a
jmp 0x408d8e
mov eax, dword [ebp - 0xb0]
sub eax, 0xc129e77c
je 0x40a2c8
jmp 0x408da4
mov eax, dword [ebp - 0xb0]
sub eax, 0xc928a543
je 0x4093b4
jmp 0x408dba
mov eax, dword [ebp - 0xb0]
sub eax, 0xd4e78d57
je 0x409884
jmp 0x408dd0
mov eax, dword [ebp - 0xb0]
sub eax, 0xd6623786
je 0x409ede
jmp 0x408de6
mov eax, dword [ebp - 0xb0]
sub eax, 0xd6feccae
je 0x4095f8
jmp 0x408dfc
mov eax, dword [ebp - 0xb0]
sub eax, 0xd8c75120
je 0x409dbe
jmp 0x408e12
mov eax, dword [ebp - 0xb0]
sub eax, 0xd922f8e6
je 0x409e43
jmp 0x408e28
mov eax, dword [ebp - 0xb0]
sub eax, 0xdcef1565
je 0x409633
jmp 0x408e3e
mov eax, dword [ebp - 0xb0]
sub eax, 0xdd34f0b0
je 0x4091df
jmp 0x408e54
mov eax, dword [ebp - 0xb0]
sub eax, 0xdfaec1ed
je 0x4099e7
jmp 0x408e6a
mov eax, dword [ebp - 0xb0]
sub eax, 0xe845e13d
je 0x409a18
jmp 0x408e80
mov eax, dword [ebp - 0xb0]
sub eax, 0xeb71a182
je 0x40a1e5
jmp 0x408e96
mov eax, dword [ebp - 0xb0]
sub eax, 0xec89644d
je 0x40946c
jmp 0x408eac
mov eax, dword [ebp - 0xb0]
sub eax, 0xf2ac24d3
je 0x40997a
jmp 0x408ec2
mov eax, dword [ebp - 0xb0]
sub eax, 0xf5b255d8
je 0x40a2ec
jmp 0x408ed8
mov eax, dword [ebp - 0xb0]
sub eax, 0xf6b5c64d
je 0x409f65
jmp 0x408eee
mov eax, dword [ebp - 0xb0]
sub eax, 0xfd1dbcee
je 0x4099b6
jmp 0x408f04
mov eax, dword [ebp - 0xb0]
sub eax, 0x321061d
je 0x409587
jmp 0x408f1a
mov eax, dword [ebp - 0xb0]
sub eax, 0x596820f
je 0x409fe2
jmp 0x408f30
mov eax, dword [ebp - 0xb0]
sub eax, 0x66be85b
je 0x40a14e
jmp 0x408f46
mov eax, dword [ebp - 0xb0]
sub eax, 0x20ef9cd7
je 0x409c50
jmp 0x408f5c
mov eax, dword [ebp - 0xb0]
sub eax, 0x23b83509
je 0x40923d
jmp 0x408f72
mov eax, dword [ebp - 0xb0]
sub eax, 0x24c78539
je 0x409848
jmp 0x408f88
mov eax, dword [ebp - 0xb0]
sub eax, 0x25d15187
je 0x409992
jmp 0x408f9e
mov eax, dword [ebp - 0xb0]
sub eax, 0x2db0a87f
je 0x4092b3
jmp 0x408fb4
mov eax, dword [ebp - 0xb0]
sub eax, 0x3024dd97
je 0x409782
jmp 0x408fca
mov eax, dword [ebp - 0xb0]
sub eax, 0x32ad9210
je 0x4096a9
jmp 0x408fe0
mov eax, dword [ebp - 0xb0]
sub eax, 0x32d955a9
je 0x40a1d0
jmp 0x408ff6
mov eax, dword [ebp - 0xb0]
sub eax, 0x3850b404
je 0x409fd3
jmp 0x40900c
mov eax, dword [ebp - 0xb0]
sub eax, 0x3cc06157
je 0x4093d2
jmp 0x409022
mov eax, dword [ebp - 0xb0]
sub eax, 0x3e4b170c
je 0x40a37b
jmp 0x409038
mov eax, dword [ebp - 0xb0]
sub eax, 0x3ff3df73
je 0x4096fd
jmp 0x40904e
mov eax, dword [ebp - 0xb0]
sub eax, 0x40cb93b5
je 0x409739
jmp 0x409064
mov eax, dword [ebp - 0xb0]
sub eax, 0x45d1f8bd
je 0x409569
jmp 0x40907a
mov eax, dword [ebp - 0xb0]
sub eax, 0x4793b473
je 0x409a69
jmp 0x409090
mov eax, dword [ebp - 0xb0]
sub eax, 0x498fdadf
je 0x409afc
jmp 0x4090a6
mov eax, dword [ebp - 0xb0]
sub eax, 0x4ac90d3a
je 0x4094c6
jmp 0x4090bc
mov eax, dword [ebp - 0xb0]
sub eax, 0x4b8f271f
je 0x4098fa
jmp 0x4090d2
mov eax, dword [ebp - 0xb0]
sub eax, 0x5986db27
je 0x409ffc
jmp 0x4090e8
mov eax, dword [ebp - 0xb0]
sub eax, 0x5b796b6e
je 0x40972a
jmp 0x4090fe
mov eax, dword [ebp - 0xb0]
sub eax, 0x60e69a9e
je 0x409b63
jmp 0x409114
mov eax, dword [ebp - 0xb0]
sub eax, 0x64b21935
je 0x409d2b
jmp 0x40912a
mov eax, dword [ebp - 0xb0]
sub eax, 0x6706e793
je 0x409ecf
jmp 0x409140
mov eax, dword [ebp - 0xb0]
sub eax, 0x679b0c1b
je 0x40a369
jmp 0x409156
mov eax, dword [ebp - 0xb0]
sub eax, 0x69ce5858
je 0x40a042
jmp 0x40916c
mov eax, dword [ebp - 0xb0]
sub eax, 0x743de8a2
je 0x40a0c7
jmp 0x409182
mov eax, dword [ebp - 0xb0]
sub eax, 0x75b789bf
je 0x409ef7
jmp 0x409198
mov eax, dword [ebp - 0xb0]
sub eax, 0x7a73c0a0
je 0x40a13d
jmp 0x4091ae
mov eax, dword [ebp - 0xb0]
sub eax, 0x7e44d31f
je 0x409d3a
push eax
mov eax, esp
mov dword [ebp - 0xa0], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x9c], eax
push eax
mov eax, esp
mov dword [ebp - 0x98], eax
push eax
mov eax, esp
mov dword [ebp - 0x94], eax
sub esp, 0x104
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
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
mov dword [ebp - 0xa8], 0x23b83509
jmp 0x40a394
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
mov edx, ecx
add edx, 0xa5ff38f
sub edx, 1
sub edx, 0xa5ff38f
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, 0x66be85b
mov ecx, 0x2db0a87f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov eax, dword [ebp - 0xac]
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
mov dword [ebp - 0xa4], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0xa0]
mov dword [eax], ecx
mov eax, dword [ebp - 0x9c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.004247e0
add esp, 0xc
mov eax, dword [ebp - 0xa4]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
mov eax, dword [ebp - 0x98]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x65], al
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
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, 0x66be85b
mov ecx, 0xc928a543
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov dl, byte [ebp - 0x65]
mov eax, 0x3cc06157
mov ecx, 0x877fed7b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov eax, dword [0x43b574]
mov ecx, dword [0x43b570]
mov edx, eax
sub edx, 0xaeaeb984
sub edx, 1
add edx, 0xaeaeb984
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, 0x99404851
mov ecx, 0xbef299c4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov eax, dword [0x43b574]
mov ecx, dword [0x43b570]
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, 0x99404851
mov ecx, 0xec89644d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov dword [ebp - 0xa8], 0xbe21a98f
jmp 0x40a394
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
mov eax, dword [ebp - 0x9c]
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 - 0x9c]
mov eax, dword [eax]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0xa8], 0x4ac90d3a
jmp 0x40a394
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x98]
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 - 0x90]
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 - 0x8c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x5d], al
mov dword [ebp - 0xa8], 0x45d1f8bd
jmp 0x40a394
mov dl, byte [ebp - 0x5d]
mov eax, 0x7e58e116
mov ecx, 0x321061d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov dword [ebp - 0xa8], 0xbe21a98f
jmp 0x40a394
mov eax, dword [ebp - 0x5c]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x55], al
mov dword [ebp - 0xa8], 0x972aeeae
jmp 0x40a394
mov dl, byte [ebp - 0x55]
mov eax, 0xdcef1565
mov ecx, 0x40cb93b5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
mov edx, ecx
add edx, 0x47aca2c
sub edx, 1
sub edx, 0x47aca2c
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, 0x32d955a9
mov ecx, 0x32ad9210
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov eax, dword [0x43b574]
mov ecx, dword [0x43b570]
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, 0x32d955a9
mov ecx, 0x3ff3df73
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov dword [ebp - 0xa8], 0xa8025759
jmp 0x40a394
mov eax, dword [ebp - 0x54]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa8], 0x5b796b6e
jmp 0x40a394
mov dword [ebp - 0xa8], 0xbe21a98f
jmp 0x40a394
mov eax, dword [0x43b574]
mov ecx, dword [0x43b570]
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, 0xeb71a182
mov ecx, 0x3024dd97
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov eax, dword [ebp - 0x88]
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 - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
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, 0xeb71a182
mov ecx, 0x24c78539
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov dword [ebp - 0xa8], 0x9b3d18a9
jmp 0x40a394
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x50]
add ecx, 0x80a3a050
add ecx, eax
sub ecx, 0x80a3a050
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov dword [ebp - 0xa8], 0xd4e78d57
jmp 0x40a394
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
mov edx, ecx
sub edx, 0x50734154
sub edx, 1
add edx, 0x50734154
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, 0x85891230
mov ecx, 0x4b8f271f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov eax, dword [ebp - 0x78]
mov word [eax], 0
mov eax, dword [0x43b574]
mov ecx, dword [0x43b570]
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, 0x85891230
mov ecx, 0x894aceb8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov dword [ebp - 0xa8], 0x981c50d6
jmp 0x40a394
mov eax, dword [ebp - 0x78]
movzx eax, word [eax]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0xa8], 0xf2ac24d3
jmp 0x40a394
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x44], eax
mov dword [ebp - 0xa8], 0x25d15187
jmp 0x40a394
mov eax, dword [ebp - 0x44]
movzx esi, word [eax + 2]
mov edx, dword [ebp - 0x4c]
mov eax, 0x596820f
mov ecx, 0xfd1dbcee
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x18
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xa8], 0xdfaec1ed
jmp 0x40a394
mov eax, dword [ebp - 0x3c]
movzx ecx, word [eax + 0x10]
mov eax, dword [ebp - 0x40]
sub eax, 0xa3b6e234
add eax, ecx
add eax, 0xa3b6e234
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x78]
movzx eax, word [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xa8], 0xe845e13d
jmp 0x40a394
mov eax, dword [0x43b574]
mov ecx, dword [0x43b570]
mov edx, eax
sub edx, 0xadd2eef9
sub edx, 1
add edx, 0xadd2eef9
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, 0xb9f255de
mov ecx, 0x4793b473
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov eax, dword [ebp - 0x34]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x38]
add ecx, 0x32a2ef49
add ecx, eax
sub ecx, 0x32a2ef49
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x433866
call fcn.004280e0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x2d], al
mov eax, dword [0x43b574]
mov ecx, dword [0x43b570]
mov edx, eax
sub edx, 0x83c2ac12
sub edx, 1
add edx, 0x83c2ac12
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, 0xb9f255de
mov ecx, 0x498fdadf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov dl, byte [ebp - 0x2d]
mov eax, 0xb4d22d2c
mov ecx, 0xd8c75120
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov eax, dword [0x43b574]
mov ecx, dword [0x43b570]
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, 0xc129e77c
mov ecx, 0x60e69a9e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov eax, dword [ebp - 0x70]
mov dword [eax], 0
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [0x43b574]
mov ecx, dword [0x43b570]
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, 0xc129e77c
mov ecx, 0xa51305d6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov dword [ebp - 0xa8], 0xa3fa813c
jmp 0x40a394
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
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, 0xf5b255d8
mov ecx, 0x20ef9cd7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x28]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x2c]
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 - 0x6c]
mov byte [eax], cl
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x74]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
sub eax, 0x77e5e9e0
add eax, ecx
add eax, 0x77e5e9e0
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x74]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
add eax, 8
mov dword [ebp - 0x18], eax
mov eax, dword [0x43b574]
mov ecx, dword [0x43b570]
mov edx, eax
sub edx, 0x1d430c3f
sub edx, 1
add edx, 0x1d430c3f
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, 0xf5b255d8
mov ecx, 0x64b21935
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov dword [ebp - 0xa8], 0x7e44d31f
jmp 0x40a394
mov dword [ebp - 0xa8], 0xb81a3bb5
jmp 0x40a394
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
mov edx, ecx
sub edx, 0xb374de04
sub edx, 1
add edx, 0xb374de04
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, 0x679b0c1b
mov ecx, 0xd922f8e6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov eax, dword [ebp - 0x78]
mov ax, word [eax]
add ax, 0xc559
add ax, 1
sub ax, 0xc559
mov word [ebp - 0x12], ax
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
mov edx, ecx
add edx, 0x73a6b9a5
sub edx, 1
sub edx, 0x73a6b9a5
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, 0x679b0c1b
mov ecx, 0x6706e793
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov dword [ebp - 0xa8], 0xd6623786
jmp 0x40a394
mov eax, dword [ebp - 0x78]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov dword [ebp - 0xa8], 0x75b789bf
jmp 0x40a394
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
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, 0x3e4b170c
mov ecx, 0xf6b5c64d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
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, 0x3e4b170c
mov ecx, 0x3850b404
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov dword [ebp - 0xa8], 0x981c50d6
jmp 0x40a394
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xa8], 0x5986db27
jmp 0x40a394
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa8], 0x69ce5858
jmp 0x40a394
mov dword [ebp - 0xa8], 0xbe21a98f
jmp 0x40a394
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
mov edx, ecx
sub edx, 0x4d8aee56
sub edx, 1
add edx, 0x4d8aee56
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, 0xc09eba47
mov ecx, 0x743de8a2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
mov edx, ecx
sub edx, 0x8f849217
sub edx, 1
add edx, 0x8f849217
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, 0xc09eba47
mov ecx, 0x7a73c0a0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40a394
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00423ac0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xa4], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0xa0]
mov dword [eax], ecx
mov eax, dword [ebp - 0x9c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.004247e0
add esp, 0xc
mov eax, dword [ebp - 0xa4]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa8], 0x2db0a87f
jmp 0x40a394
mov dword [ebp - 0xa8], 0xbef299c4
jmp 0x40a394
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa8], 0x32ad9210
jmp 0x40a394
mov eax, dword [ebp - 0x88]
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 - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0xa8], 0x3024dd97
jmp 0x40a394
mov eax, dword [ebp - 0x78]
mov word [eax], 0
mov dword [ebp - 0xa8], 0x4b8f271f
jmp 0x40a394
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
sub ecx, 0xa5220462
add ecx, eax
add ecx, 0xa5220462
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x433866
call fcn.004280e0
add esp, 8
mov dword [ebp - 0xa8], 0x4793b473
jmp 0x40a394
mov eax, dword [ebp - 0x70]
mov dword [eax], 0
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xa8], 0x60e69a9e
jmp 0x40a394
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x28]
sub edx, 0x4aa2e588
add edx, eax
add edx, 0x4aa2e588
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x2c]
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 - 0x6c]
mov byte [eax], cl
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xa8], 0x20ef9cd7
jmp 0x40a394
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0xa8], 0xd922f8e6
jmp 0x40a394
mov dword [ebp - 0xa8], 0xf6b5c64d
jmp 0x40a394
mov dword [ebp - 0xa8], 0x743de8a2
jmp 0x408c28