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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x6c
mov eax, dword [0x47a080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x47b564]
mov eax, dword [0x47b560]
mov edx, ecx
add edx, 0xe3f6c886
sub edx, 1
sub edx, 0xe3f6c886
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x6e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x6d], al
mov dword [ebp - 0x74], 0xd9a83adb
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x78], eax
sub eax, 0x82b78d88
je 0x40e630
jmp 0x40dfc9
mov eax, dword [ebp - 0x78]
sub eax, 0x8376da0e
je 0x40ed7e
jmp 0x40dfdc
mov eax, dword [ebp - 0x78]
sub eax, 0x87b7e04c
je 0x40ed66
jmp 0x40dfef
mov eax, dword [ebp - 0x78]
sub eax, 0x88dec03f
je 0x40edcf
jmp 0x40e002
mov eax, dword [ebp - 0x78]
sub eax, 0x8b2fb68a
je 0x40ebec
jmp 0x40e015
mov eax, dword [ebp - 0x78]
sub eax, 0x92e27bf0
je 0x40ec72
jmp 0x40e028
mov eax, dword [ebp - 0x78]
sub eax, 0xa02d94a5
je 0x40ee32
jmp 0x40e03b
mov eax, dword [ebp - 0x78]
sub eax, 0xa3a5e56b
je 0x40ece9
jmp 0x40e04e
mov eax, dword [ebp - 0x78]
sub eax, 0xa3c02483
je 0x40e7dc
jmp 0x40e061
mov eax, dword [ebp - 0x78]
sub eax, 0xa8568a52
je 0x40ea97
jmp 0x40e074
mov eax, dword [ebp - 0x78]
sub eax, 0xb1332318
je 0x40e3bb
jmp 0x40e087
mov eax, dword [ebp - 0x78]
sub eax, 0xb4f09057
je 0x40edfe
jmp 0x40e09a
mov eax, dword [ebp - 0x78]
sub eax, 0xc526be50
je 0x40e6a3
jmp 0x40e0ad
mov eax, dword [ebp - 0x78]
sub eax, 0xc7973fd7
je 0x40e7f7
jmp 0x40e0c0
mov eax, dword [ebp - 0x78]
sub eax, 0xca1bcd5a
je 0x40ee65
jmp 0x40e0d3
mov eax, dword [ebp - 0x78]
sub eax, 0xce458b6e
je 0x40ed72
jmp 0x40e0e6
mov eax, dword [ebp - 0x78]
sub eax, 0xcfccb4e0
je 0x40e5cc
jmp 0x40e0f9
mov eax, dword [ebp - 0x78]
sub eax, 0xd158f404
je 0x40edf2
jmp 0x40e10c
mov eax, dword [ebp - 0x78]
sub eax, 0xd23af868
je 0x40e734
jmp 0x40e11f
mov eax, dword [ebp - 0x78]
sub eax, 0xd6533799
je 0x40edb4
jmp 0x40e132
mov eax, dword [ebp - 0x78]
sub eax, 0xd9a83adb
je 0x40e2ec
jmp 0x40e145
mov eax, dword [ebp - 0x78]
sub eax, 0xe074a1b9
je 0x40ee20
jmp 0x40e158
mov eax, dword [ebp - 0x78]
sub eax, 0xe2d1f8ba
je 0x40e9cb
jmp 0x40e16b
mov eax, dword [ebp - 0x78]
sub eax, 0xf2435507
je 0x40e561
jmp 0x40e17e
mov eax, dword [ebp - 0x78]
sub eax, 0xf831b8c1
je 0x40eb81
jmp 0x40e191
mov eax, dword [ebp - 0x78]
sub eax, 0xfd77f995
je 0x40e624
jmp 0x40e1a4
mov eax, dword [ebp - 0x78]
sub eax, 0xd0f1f13
je 0x40e971
jmp 0x40e1b7
mov eax, dword [ebp - 0x78]
sub eax, 0x126935e6
je 0x40e956
jmp 0x40e1ca
mov eax, dword [ebp - 0x78]
sub eax, 0x14849623
je 0x40e84a
jmp 0x40e1dd
mov eax, dword [ebp - 0x78]
sub eax, 0x1e336a8b
je 0x40ec7e
jmp 0x40e1f0
mov eax, dword [ebp - 0x78]
sub eax, 0x23291a94
je 0x40ee74
jmp 0x40e203
mov eax, dword [ebp - 0x78]
sub eax, 0x300c9565
je 0x40e3af
jmp 0x40e216
mov eax, dword [ebp - 0x78]
sub eax, 0x3755e65e
je 0x40e827
jmp 0x40e229
mov eax, dword [ebp - 0x78]
sub eax, 0x377bea7f
je 0x40ee0d
jmp 0x40e23c
mov eax, dword [ebp - 0x78]
sub eax, 0x3c24b219
je 0x40ee59
jmp 0x40e24f
mov eax, dword [ebp - 0x78]
sub eax, 0x4ca65919
je 0x40e42a
jmp 0x40e262
mov eax, dword [ebp - 0x78]
sub eax, 0x51f2787c
je 0x40e728
jmp 0x40e275
mov eax, dword [ebp - 0x78]
sub eax, 0x54c5dab1
je 0x40e9fe
jmp 0x40e288
mov eax, dword [ebp - 0x78]
sub eax, 0x5ab61aef
je 0x40e782
jmp 0x40e29b
mov eax, dword [ebp - 0x78]
sub eax, 0x5c3e3360
je 0x40eb75
jmp 0x40e2ae
mov eax, dword [ebp - 0x78]
sub eax, 0x603a341a
je 0x40e8bd
jmp 0x40e2c1
mov eax, dword [ebp - 0x78]
sub eax, 0x6b68024e
je 0x40eb0a
jmp 0x40e2d4
mov eax, dword [ebp - 0x78]
sub eax, 0x7623b055
je 0x40e312
jmp 0x40e2e7
jmp 0x40ee85
mov al, byte [ebp - 0x6e]
mov cl, byte [ebp - 0x6d]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xd158f404
mov ecx, 0x7623b055
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40ee85
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
sub esp, 0xc
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
push eax
mov eax, esp
mov dword [ebp - 0x5c], eax
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
push eax
mov eax, esp
mov dword [ebp - 0x54], eax
push eax
mov eax, esp
mov dword [ebp - 0x50], eax
mov ecx, dword [0x47b564]
mov eax, dword [0x47b560]
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, 0xd158f404
mov ecx, 0x300c9565
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40ee85
mov dword [ebp - 0x74], 0xb1332318
jmp 0x40ee85
push eax
mov eax, esp
mov dword [ebp - 0x4c], eax
push eax
mov eax, esp
mov dword [ebp - 0x48], eax
push eax
mov eax, esp
mov dword [ebp - 0x44], eax
push eax
mov eax, esp
mov dword [ebp - 0x40], eax
push eax
mov eax, esp
mov dword [ebp - 0x3c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0041f2e0
add esp, 0xc
lea eax, str.ntdll.dll
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x74], 0x4ca65919
jmp 0x40ee85
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x68]
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 - 0x68]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
lea eax, str.c:windows_system32_ntdll.dll
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 - 0x5c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x5c]
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 ecx, eax
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x58]
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 - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x48]
mov word [eax], 0
mov dword [ebp - 0x74], 0xf2435507
jmp 0x40ee85
mov ecx, dword [0x47b564]
mov eax, dword [0x47b560]
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, 0xb4f09057
mov ecx, 0xcfccb4e0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40ee85
mov eax, dword [ebp - 0x48]
mov ax, word [eax]
mov word [ebp - 0x32], ax
mov eax, dword [0x47b564]
mov ecx, dword [0x47b560]
mov edx, eax
sub edx, 0x9c1f13bf
sub edx, 1
add edx, 0x9c1f13bf
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, 0xb4f09057
mov ecx, 0xfd77f995
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40ee85
mov dword [ebp - 0x74], 0x82b78d88
jmp 0x40ee85
mov ecx, dword [0x47b564]
mov eax, dword [0x47b560]
mov edx, ecx
add edx, 0xc58289d4
sub edx, 1
sub edx, 0xc58289d4
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, 0x377bea7f
mov ecx, 0xc526be50
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40ee85
mov ax, word [ebp - 0x32]
movzx eax, ax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x47b564]
mov eax, dword [0x47b560]
mov edx, ecx
sub edx, 0x5d38f3de
sub edx, 1
add edx, 0x5d38f3de
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, 0x377bea7f
mov ecx, 0x51f2787c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40ee85
mov dword [ebp - 0x74], 0xd23af868
jmp 0x40ee85
mov eax, dword [0x47b564]
mov ecx, dword [0x47b560]
mov edx, eax
sub edx, 0x2b50272e
sub edx, 1
add edx, 0x2b50272e
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, 0xe074a1b9
mov ecx, 0x5ab61aef
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40ee85
mov eax, dword [ebp - 0x2c]
movzx ecx, word [eax + 6]
mov eax, dword [ebp - 0x30]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x25], al
mov eax, dword [0x47b564]
mov ecx, dword [0x47b560]
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, 0xe074a1b9
mov ecx, 0xa3c02483
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40ee85
mov dl, byte [ebp - 0x25]
mov eax, 0x8376da0e
mov ecx, 0xc7973fd7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40ee85
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
sub eax, 0x18fa1af1
add eax, 0x18
add eax, 0x18fa1af1
mov ecx, dword [ebp - 0x4c]
mov ecx, dword [ecx]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x74], 0x3755e65e
jmp 0x40ee85
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x48]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x44]
mov dword [eax], ecx
mov dword [ebp - 0x74], 0x14849623
jmp 0x40ee85
mov ecx, dword [0x47b564]
mov eax, dword [0x47b560]
mov edx, ecx
add edx, 0x6c81dc12
sub edx, 1
sub edx, 0x6c81dc12
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, 0xa02d94a5
mov ecx, 0x603a341a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40ee85
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42dd35
call fcn.00422be0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x1e], al
mov ecx, dword [0x47b564]
mov eax, dword [0x47b560]
mov edx, ecx
add edx, 0x3cd40586
sub edx, 1
sub edx, 0x3cd40586
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, 0xa02d94a5
mov ecx, 0x126935e6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40ee85
mov dl, byte [ebp - 0x1e]
mov eax, 0xd0f1f13
mov ecx, 0xa8568a52
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40ee85
mov eax, dword [ebp - 0x40]
mov dword [eax], 0
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x60]
mov edx, dword [eax]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x40]
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 al
and al, 1
mov byte [ebp - 0x1d], al
mov dword [ebp - 0x74], 0xe2d1f8ba
jmp 0x40ee85
mov cl, byte [ebp - 0x1d]
and cl, 1
mov eax, dword [ebp - 0x3c]
mov byte [eax], cl
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x44]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
sub eax, 0x7bc44d06
add eax, ecx
add eax, 0x7bc44d06
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x74], 0x54c5dab1
jmp 0x40ee85
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0x68def4cc
add ecx, eax
sub ecx, 0x68def4cc
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x1c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041f440
add esp, 0xc
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x60]
mov esi, dword [eax]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
xor esi, esi
sub esi, edi
add eax, esi
xor esi, esi
sub esi, eax
mov eax, dword [ebp - 0x40]
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 - 0x3c]
mov byte [eax], cl
mov dword [ebp - 0x74], 0xa8568a52
jmp 0x40ee85
mov ecx, dword [0x47b564]
mov eax, dword [0x47b560]
mov edx, ecx
add edx, 0xadaf4389
sub edx, 1
sub edx, 0xadaf4389
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, 0x3c24b219
mov ecx, 0x6b68024e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40ee85
mov ecx, dword [0x47b564]
mov eax, dword [0x47b560]
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, 0x3c24b219
mov ecx, 0x5c3e3360
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40ee85
mov dword [ebp - 0x74], 0xf831b8c1
jmp 0x40ee85
mov ecx, dword [0x47b564]
mov eax, dword [0x47b560]
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, 0xca1bcd5a
mov ecx, 0x8b2fb68a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40ee85
mov eax, dword [ebp - 0x48]
mov ax, word [eax]
xor ecx, ecx
sub cx, 1
sub ax, cx
mov word [ebp - 0x16], ax
mov ecx, dword [0x47b564]
mov eax, dword [0x47b560]
mov edx, ecx
add edx, 0x8aa4e7e6
sub edx, 1
sub edx, 0x8aa4e7e6
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, 0xca1bcd5a
mov ecx, 0x92e27bf0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40ee85
mov dword [ebp - 0x74], 0x1e336a8b
jmp 0x40ee85
mov ecx, dword [0x47b564]
mov eax, dword [0x47b560]
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, 0x23291a94
mov ecx, 0xa3a5e56b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40ee85
mov eax, dword [ebp - 0x48]
mov cx, word [ebp - 0x16]
mov word [eax], cx
mov ecx, dword [0x47b564]
mov eax, dword [0x47b560]
mov edx, ecx
sub edx, 0x8349351d
sub edx, 1
add edx, 0x8349351d
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, 0x23291a94
mov ecx, 0x87b7e04c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40ee85
mov dword [ebp - 0x74], 0xce458b6e
jmp 0x40ee85
mov dword [ebp - 0x74], 0xf2435507
jmp 0x40ee85
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x74], 0xd6533799
jmp 0x40ee85
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x74], 0x88dec03f
jmp 0x40ee85
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041e5d0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x74], 0x7623b055
jmp 0x40ee85
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x74], 0xcfccb4e0
jmp 0x40ee85
mov ax, word [ebp - 0x32]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x74], 0xc526be50
jmp 0x40ee85
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x74], 0x5ab61aef
jmp 0x40ee85
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42dd35
call fcn.00422be0
add esp, 8
mov dword [ebp - 0x74], 0x603a341a
jmp 0x40ee85
mov dword [ebp - 0x74], 0x6b68024e
jmp 0x40ee85
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x74], 0x8b2fb68a
jmp 0x40ee85
mov eax, dword [ebp - 0x48]
mov cx, word [ebp - 0x16]
mov word [eax], cx
mov dword [ebp - 0x74], 0xa3a5e56b
jmp 0x40dfb3