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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x8c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x90], eax
mov eax, dword [0x43d080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x8c], 0x9db2d65
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x94], eax
sub eax, 0x8126816c
je 0x40d0ee
jmp 0x40c084
mov eax, dword [ebp - 0x94]
sub eax, 0x8340f243
je 0x40d15e
jmp 0x40c09a
mov eax, dword [ebp - 0x94]
sub eax, 0x8ca84e7b
je 0x40cd3d
jmp 0x40c0b0
mov eax, dword [ebp - 0x94]
sub eax, 0x8ec1f5e5
je 0x40ce42
jmp 0x40c0c6
mov eax, dword [ebp - 0x94]
sub eax, 0x918aed7b
je 0x40c933
jmp 0x40c0dc
mov eax, dword [ebp - 0x94]
sub eax, 0x97a83d3f
je 0x40c8bd
jmp 0x40c0f2
mov eax, dword [ebp - 0x94]
sub eax, 0xa0058131
je 0x40ca27
jmp 0x40c108
mov eax, dword [ebp - 0x94]
sub eax, 0xa514c276
je 0x40c86a
jmp 0x40c11e
mov eax, dword [ebp - 0x94]
sub eax, 0xa7b9664e
je 0x40c7f3
jmp 0x40c134
mov eax, dword [ebp - 0x94]
sub eax, 0xaf5eff1c
je 0x40ce93
jmp 0x40c14a
mov eax, dword [ebp - 0x94]
sub eax, 0xafbc19cf
je 0x40c853
jmp 0x40c160
mov eax, dword [ebp - 0x94]
sub eax, 0xb7a7720f
je 0x40c97c
jmp 0x40c176
mov eax, dword [ebp - 0x94]
sub eax, 0xc000e30a
je 0x40cf77
jmp 0x40c18c
mov eax, dword [ebp - 0x94]
sub eax, 0xc312f752
je 0x40c6ff
jmp 0x40c1a2
mov eax, dword [ebp - 0x94]
sub eax, 0xcccc2f4a
je 0x40cb03
jmp 0x40c1b8
mov eax, dword [ebp - 0x94]
sub eax, 0xcd02dc12
je 0x40cbe9
jmp 0x40c1ce
mov eax, dword [ebp - 0x94]
sub eax, 0xd0763def
je 0x40cd8e
jmp 0x40c1e4
mov eax, dword [ebp - 0x94]
sub eax, 0xd2778f67
je 0x40c98b
jmp 0x40c1fa
mov eax, dword [ebp - 0x94]
sub eax, 0xd5943cd7
je 0x40d1dd
jmp 0x40c210
mov eax, dword [ebp - 0x94]
sub eax, 0xe05ec506
je 0x40d276
jmp 0x40c226
mov eax, dword [ebp - 0x94]
sub eax, 0xe48c0ad7
je 0x40cf08
jmp 0x40c23c
mov eax, dword [ebp - 0x94]
sub eax, 0xeb71b2eb
je 0x40d1bf
jmp 0x40c252
mov eax, dword [ebp - 0x94]
sub eax, 0xedda88de
je 0x40d1f2
jmp 0x40c268
mov eax, dword [ebp - 0x94]
sub eax, 0xf15680c3
je 0x40d18d
jmp 0x40c27e
mov eax, dword [ebp - 0x94]
sub eax, 0xf7c41744
je 0x40d211
jmp 0x40c294
mov eax, dword [ebp - 0x94]
sub eax, 0xfccd3f9d
je 0x40d016
jmp 0x40c2aa
mov eax, dword [ebp - 0x94]
sub eax, 0x667d336
je 0x40d226
jmp 0x40c2c0
mov eax, dword [ebp - 0x94]
sub eax, 0x9889544
je 0x40cd1f
jmp 0x40c2d6
mov eax, dword [ebp - 0x94]
sub eax, 0x9db2d65
je 0x40c59b
jmp 0x40c2ec
mov eax, dword [ebp - 0x94]
sub eax, 0xa993df0
je 0x40d138
jmp 0x40c302
mov eax, dword [ebp - 0x94]
sub eax, 0xcb1c7da
je 0x40c5f1
jmp 0x40c318
mov eax, dword [ebp - 0x94]
sub eax, 0x1bc786a3
je 0x40cddf
jmp 0x40c32e
mov eax, dword [ebp - 0x94]
sub eax, 0x1fde75f8
je 0x40c89f
jmp 0x40c344
mov eax, dword [ebp - 0x94]
sub eax, 0x21da6ccb
je 0x40d116
jmp 0x40c35a
mov eax, dword [ebp - 0x94]
sub eax, 0x22185fd2
je 0x40cdee
jmp 0x40c370
mov eax, dword [ebp - 0x94]
sub eax, 0x23c1b795
je 0x40c6ae
jmp 0x40c386
mov eax, dword [ebp - 0x94]
sub eax, 0x296a66fd
je 0x40d23c
jmp 0x40c39c
mov eax, dword [ebp - 0x94]
sub eax, 0x2b9d0f31
je 0x40ca86
jmp 0x40c3b2
mov eax, dword [ebp - 0x94]
sub eax, 0x2ddb85bc
je 0x40cb73
jmp 0x40c3c8
mov eax, dword [ebp - 0x94]
sub eax, 0x2e9d1f59
je 0x40d0fd
jmp 0x40c3de
mov eax, dword [ebp - 0x94]
sub eax, 0x32623aa1
je 0x40d24e
jmp 0x40c3f4
mov eax, dword [ebp - 0x94]
sub eax, 0x3b1c0655
je 0x40c65d
jmp 0x40c40a
mov eax, dword [ebp - 0x94]
sub eax, 0x3bc1cbf5
je 0x40cf26
jmp 0x40c420
mov eax, dword [ebp - 0x94]
sub eax, 0x413c1bc5
je 0x40c9de
jmp 0x40c436
mov eax, dword [ebp - 0x94]
sub eax, 0x46b2a64b
je 0x40ccc2
jmp 0x40c44c
mov eax, dword [ebp - 0x94]
sub eax, 0x47240b4a
je 0x40cc51
jmp 0x40c462
mov eax, dword [ebp - 0x94]
sub eax, 0x47ddb95d
je 0x40c888
jmp 0x40c478
mov eax, dword [ebp - 0x94]
sub eax, 0x4c5fe35f
je 0x40d052
jmp 0x40c48e
mov eax, dword [ebp - 0x94]
sub eax, 0x55cef71d
je 0x40c70e
jmp 0x40c4a4
mov eax, dword [ebp - 0x94]
sub eax, 0x57533582
je 0x40ca95
jmp 0x40c4ba
mov eax, dword [ebp - 0x94]
sub eax, 0x5801e665
je 0x40c7c9
jmp 0x40c4d0
mov eax, dword [ebp - 0x94]
sub eax, 0x58f110f7
je 0x40cb64
jmp 0x40c4e6
mov eax, dword [ebp - 0x94]
sub eax, 0x5fb8e7bd
je 0x40cc79
jmp 0x40c4fc
mov eax, dword [ebp - 0x94]
sub eax, 0x694c65a6
je 0x40d147
jmp 0x40c512
mov eax, dword [ebp - 0x94]
sub eax, 0x6d0c448e
je 0x40c776
jmp 0x40c528
mov eax, dword [ebp - 0x94]
sub eax, 0x6e3c07d0
je 0x40cc60
jmp 0x40c53e
mov eax, dword [ebp - 0x94]
sub eax, 0x76fd361c
je 0x40d1ce
jmp 0x40c554
mov eax, dword [ebp - 0x94]
sub eax, 0x78f280c5
je 0x40c802
jmp 0x40c56a
mov eax, dword [ebp - 0x94]
sub eax, 0x7af88263
je 0x40d1ae
jmp 0x40c580
mov eax, dword [ebp - 0x94]
sub eax, 0x7e666ac7
je 0x40d025
jmp 0x40c596
jmp 0x40d2c3
push eax
mov eax, esp
mov dword [ebp - 0x7c], eax
sub esp, 0x104
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
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
mov dword [ebp - 0x8c], 0xcb1c7da
jmp 0x40d2c3
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x80], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x18]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.004278d0
add esp, 0xc
mov eax, dword [ebp - 0x80]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x88], eax
mov eax, 0x3b1c0655
mov ecx, 0x55cef71d
cmp dword [ebp - 0x88], 0
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov eax, dword [0x43e584]
mov ecx, dword [0x43e580]
mov edx, eax
add edx, 0xd4b3af5
sub edx, 1
sub edx, 0xd4b3af5
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, 0xeb71b2eb
mov ecx, 0x23c1b795
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov eax, dword [0x43e584]
mov ecx, dword [0x43e580]
mov edx, eax
add edx, 0x3cacc2d1
sub edx, 1
sub edx, 0x3cacc2d1
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, 0xeb71b2eb
mov ecx, 0xc312f752
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov dword [ebp - 0x8c], 0x7af88263
jmp 0x40d2c3
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x84]
lea eax, [ebp - 0x18]
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 ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x88]
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 - 0x78]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x8c], 0x6d0c448e
jmp 0x40d2c3
mov eax, dword [ebp - 0x50]
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 dword [ebp - 0x4c], eax
mov dword [ebp - 0x8c], 0x5801e665
jmp 0x40d2c3
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x74]
mov esi, 0xffffffff
mov eax, 0x78f280c5
mov ecx, 0xa7b9664e
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov dword [ebp - 0x8c], 0x7af88263
jmp 0x40d2c3
mov eax, dword [ebp - 0x74]
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 - 0x70]
mov dword [eax], ecx
mov dword [ebp - 0x8c], 0xafbc19cf
jmp 0x40d2c3
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x8c], 0xa514c276
jmp 0x40d2c3
mov edx, dword [ebp - 0x48]
mov eax, 0x47ddb95d
mov ecx, 0xd2778f67
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x8c], 0x1fde75f8
jmp 0x40d2c3
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8c], 0x97a83d3f
jmp 0x40d2c3
mov ecx, dword [0x43e584]
mov eax, dword [0x43e580]
mov edx, ecx
add edx, 0xe4f5ab3e
sub edx, 1
sub edx, 0xe4f5ab3e
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, 0x76fd361c
mov ecx, 0x918aed7b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov eax, dword [0x43e584]
mov ecx, dword [0x43e580]
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, 0x76fd361c
mov ecx, 0xb7a7720f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov dword [ebp - 0x8c], 0x7af88263
jmp 0x40d2c3
mov eax, dword [ebp - 0x70]
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 - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov dword [ebp - 0x8c], 0x413c1bc5
jmp 0x40d2c3
mov eax, dword [0x43e584]
mov ecx, dword [0x43e580]
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, 0xd5943cd7
mov ecx, 0xa0058131
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x68]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x3c]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [0x43e584]
mov ecx, dword [0x43e580]
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, 0xd5943cd7
mov ecx, 0x2b9d0f31
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov dword [ebp - 0x8c], 0x57533582
jmp 0x40d2c3
mov ecx, dword [0x43e584]
mov eax, dword [0x43e580]
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, 0xedda88de
mov ecx, 0xcccc2f4a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov word [eax], 0
mov eax, dword [0x43e584]
mov ecx, dword [0x43e580]
mov edx, eax
sub edx, 0x86da9e3b
sub edx, 1
add edx, 0x86da9e3b
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, 0xedda88de
mov ecx, 0x58f110f7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov dword [ebp - 0x8c], 0x2ddb85bc
jmp 0x40d2c3
mov ecx, dword [0x43e584]
mov eax, dword [0x43e580]
mov edx, ecx
sub edx, 0x63439948
sub edx, 1
add edx, 0x63439948
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, 0xf7c41744
mov ecx, 0xcd02dc12
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov eax, dword [ebp - 0x60]
movzx eax, word [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
add eax, 4
add eax, 2
mov dword [ebp - 0x38], eax
mov eax, dword [0x43e584]
mov ecx, dword [0x43e580]
mov edx, eax
sub edx, 0x4924d7e4
sub edx, 1
add edx, 0x4924d7e4
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, 0xf7c41744
mov ecx, 0x47240b4a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov dword [ebp - 0x8c], 0x6e3c07d0
jmp 0x40d2c3
mov eax, dword [ebp - 0x38]
mov ax, word [eax]
mov word [ebp - 0x34], ax
mov dword [ebp - 0x8c], 0x5fb8e7bd
jmp 0x40d2c3
mov eax, dword [0x43e584]
mov ecx, dword [0x43e580]
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, 0x667d336
mov ecx, 0x46b2a64b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov ax, word [ebp - 0x34]
movzx ecx, ax
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x31], al
mov eax, dword [0x43e584]
mov ecx, dword [0x43e580]
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, 0x667d336
mov ecx, 0x9889544
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov dl, byte [ebp - 0x31]
mov eax, 0x694c65a6
mov ecx, 0x8ca84e7b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov eax, dword [0x43e584]
mov ecx, dword [0x43e580]
mov edx, eax
sub edx, 0x2d8ce19f
sub edx, 1
add edx, 0x2d8ce19f
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, 0x296a66fd
mov ecx, 0xd0763def
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [0x43e584]
mov ecx, dword [0x43e580]
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, 0x296a66fd
mov ecx, 0x1bc786a3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov dword [ebp - 0x8c], 0x22185fd2
jmp 0x40d2c3
mov ecx, dword [ebp - 0x30]
sub ecx, 0x6591d7e8
add ecx, 0x18
add ecx, 0x6591d7e8
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
movzx eax, word [eax + 0x14]
sub ecx, 0x131898e9
add ecx, eax
add ecx, 0x131898e9
mov eax, dword [ebp - 0x60]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x5c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x8c], 0x8ec1f5e5
jmp 0x40d2c3
mov eax, dword [0x43e584]
mov ecx, dword [0x43e580]
mov edx, eax
sub edx, 0xb97ec77e
sub edx, 1
add edx, 0xb97ec77e
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, 0x32623aa1
mov ecx, 0xaf5eff1c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov ecx, dword [ebp - 0x2c]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x436be0
call fcn.0042b1d0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x26], al
mov eax, dword [0x43e584]
mov ecx, dword [0x43e580]
mov edx, eax
sub edx, 0x17ff9d36
sub edx, 1
add edx, 0x17ff9d36
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, 0x32623aa1
mov ecx, 0xe48c0ad7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov dl, byte [ebp - 0x26]
mov eax, 0x3bc1cbf5
mov ecx, 0x8126816c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov eax, dword [0x43e584]
mov ecx, dword [0x43e580]
mov edx, eax
add edx, 0x82c0827e
sub edx, 1
sub edx, 0x82c0827e
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, 0xe05ec506
mov ecx, 0xc000e30a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov eax, dword [ebp - 0x58]
mov dword [eax], 0
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x58]
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 - 0x25], al
mov eax, dword [0x43e584]
mov ecx, dword [0x43e580]
mov edx, eax
add edx, 0x1c98e3db
sub edx, 1
sub edx, 0x1c98e3db
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, 0xe05ec506
mov ecx, 0xfccd3f9d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40d2c3
mov dword [ebp - 0x8c], 0x7e666ac7
jmp 0x40d2c3
mov eax, dword [ebp - 0x54]
mov cl, byte [ebp - 0x25]
mov byte [eax], cl
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x8c], 0x4c5fe35f
jmp 0x40d2c3
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub ecx, 0xa48accfd
add ecx, eax
add ecx, 0xa48accfd
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00427a30
add esp, 0xc
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x7c]
mov esi, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0xaf6987f2
add esi, eax
add esi, 0xaf6987f2
mov eax, dword [ebp - 0x58]
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 - 0x54]
mov byte [eax], cl
mov dword [ebp - 0x8c], 0x8126816c
jmp 0x40d2c3
mov dword [ebp - 0x8c], 0x2e9d1f59
jmp 0x40d2c3
mov eax, dword [ebp - 0x60]
mov ax, word [eax]
mov word [ebp - 0x1e], ax
mov dword [ebp - 0x8c], 0x21da6ccb
jmp 0x40d2c3
mov cx, word [ebp - 0x1e]
xor eax, eax
sub ax, 1
sub cx, ax
mov eax, dword [ebp - 0x60]
mov word [eax], cx
mov dword [ebp - 0x8c], 0xa993df0
jmp 0x40d2c3
mov dword [ebp - 0x8c], 0x2ddb85bc
jmp 0x40d2c3
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x8c], 0x8340f243
jmp 0x40d2c3
mov eax, dword [ebp - 0x1c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8c], 0xf15680c3
jmp 0x40d2c3
mov eax, dword [ebp - 0x84]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8c], 0x7af88263
jmp 0x40d2c3
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00426be0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x8c], 0x23c1b795
jmp 0x40d2c3
mov dword [ebp - 0x8c], 0x918aed7b
jmp 0x40d2c3
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x8c], 0xa0058131
jmp 0x40d2c3
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov word [eax], 0
mov dword [ebp - 0x8c], 0xcccc2f4a
jmp 0x40d2c3
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x8c], 0xcd02dc12
jmp 0x40d2c3
mov ax, word [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x8c], 0x46b2a64b
jmp 0x40d2c3
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x8c], 0xd0763def
jmp 0x40d2c3
mov ecx, dword [ebp - 0x2c]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x436be0
call fcn.0042b1d0
add esp, 8
mov dword [ebp - 0x8c], 0xaf5eff1c
jmp 0x40d2c3
mov eax, dword [ebp - 0x58]
mov dword [eax], 0
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x58]
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]
mov dword [ebp - 0x8c], 0xc000e30a
jmp 0x40c068