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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xa0
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa8], eax
mov eax, dword [0x43e080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x43f574]
mov eax, dword [0x43f570]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x9e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x9d], al
mov dword [ebp - 0xa4], 0x401d3e41
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xac], eax
sub eax, 0x81f82078
je 0x40c323
jmp 0x40bd1c
mov eax, dword [ebp - 0xac]
sub eax, 0x86065586
je 0x40d17b
jmp 0x40bd32
mov eax, dword [ebp - 0xac]
sub eax, 0x8abbdc03
je 0x40cd7d
jmp 0x40bd48
mov eax, dword [ebp - 0xac]
sub eax, 0x8ac8e338
je 0x40cb6d
jmp 0x40bd5e
mov eax, dword [ebp - 0xac]
sub eax, 0x8ae63d6e
je 0x40cc55
jmp 0x40bd74
mov eax, dword [ebp - 0xac]
sub eax, 0x8c1c3469
je 0x40c352
jmp 0x40bd8a
mov eax, dword [ebp - 0xac]
sub eax, 0x8d69cbd7
je 0x40cb4a
jmp 0x40bda0
mov eax, dword [ebp - 0xac]
sub eax, 0x93557aed
je 0x40c6d3
jmp 0x40bdb6
mov eax, dword [ebp - 0xac]
sub eax, 0x9483d0e8
je 0x40d03a
jmp 0x40bdcc
mov eax, dword [ebp - 0xac]
sub eax, 0x9e04a80d
je 0x40d232
jmp 0x40bde2
mov eax, dword [ebp - 0xac]
sub eax, 0x9e0d9a6a
je 0x40cfc4
jmp 0x40bdf8
mov eax, dword [ebp - 0xac]
sub eax, 0xa004ec87
je 0x40c7f4
jmp 0x40be0e
mov eax, dword [ebp - 0xac]
sub eax, 0xa034c6b8
je 0x40c700
jmp 0x40be24
mov eax, dword [ebp - 0xac]
sub eax, 0xa443b363
je 0x40ca68
jmp 0x40be3a
mov eax, dword [ebp - 0xac]
sub eax, 0xa77d8b3a
je 0x40d0d1
jmp 0x40be50
mov eax, dword [ebp - 0xac]
sub eax, 0xa8a17684
je 0x40c3c8
jmp 0x40be66
mov eax, dword [ebp - 0xac]
sub eax, 0xa9fa73bf
je 0x40ce88
jmp 0x40be7c
mov eax, dword [ebp - 0xac]
sub eax, 0xb7fe1986
je 0x40d258
jmp 0x40be92
mov eax, dword [ebp - 0xac]
sub eax, 0xba159dd6
je 0x40c314
jmp 0x40bea8
mov eax, dword [ebp - 0xac]
sub eax, 0xd1668958
je 0x40c4f7
jmp 0x40bebe
mov eax, dword [ebp - 0xac]
sub eax, 0xd5bba89f
je 0x40d28a
jmp 0x40bed4
mov eax, dword [ebp - 0xac]
sub eax, 0xd74e374c
je 0x40c994
jmp 0x40beea
mov eax, dword [ebp - 0xac]
sub eax, 0xecdd3183
je 0x40cf0d
jmp 0x40bf00
mov eax, dword [ebp - 0xac]
sub eax, 0xef8c79dc
je 0x40c8c6
jmp 0x40bf16
mov eax, dword [ebp - 0xac]
sub eax, 0xf5c736aa
je 0x40c5d5
jmp 0x40bf2c
mov eax, dword [ebp - 0xac]
sub eax, 0xf7843044
je 0x40d148
jmp 0x40bf42
mov eax, dword [ebp - 0xac]
sub eax, 0xf7ce7ae1
je 0x40c70f
jmp 0x40bf58
mov eax, dword [ebp - 0xac]
sub eax, 0xff1eacbb
je 0x40c278
jmp 0x40bf6e
mov eax, dword [ebp - 0xac]
sub eax, 0xff519213
je 0x40c6e2
jmp 0x40bf84
mov eax, dword [ebp - 0xac]
sub eax, 0x14efefe
je 0x40cfa6
jmp 0x40bf9a
mov eax, dword [ebp - 0xac]
sub eax, 0x243eba5
je 0x40d0c2
jmp 0x40bfb0
mov eax, dword [ebp - 0xac]
sub eax, 0xb7b02d1
je 0x40ce1b
jmp 0x40bfc6
mov eax, dword [ebp - 0xac]
sub eax, 0x179e7188
je 0x40d16c
jmp 0x40bfdc
mov eax, dword [ebp - 0xac]
sub eax, 0x18349682
je 0x40cfb5
jmp 0x40bff2
mov eax, dword [ebp - 0xac]
sub eax, 0x19045edb
je 0x40ca45
jmp 0x40c008
mov eax, dword [ebp - 0xac]
sub eax, 0x1af36bec
je 0x40c4d9
jmp 0x40c01e
mov eax, dword [ebp - 0xac]
sub eax, 0x1dfe6761
je 0x40c985
jmp 0x40c034
mov eax, dword [ebp - 0xac]
sub eax, 0x217e0e67
je 0x40c870
jmp 0x40c04a
mov eax, dword [ebp - 0xac]
sub eax, 0x295930dc
je 0x40c77e
jmp 0x40c060
mov eax, dword [ebp - 0xac]
sub eax, 0x29db237c
je 0x40cbdf
jmp 0x40c076
mov eax, dword [ebp - 0xac]
sub eax, 0x3116dd9c
je 0x40c88e
jmp 0x40c08c
mov eax, dword [ebp - 0xac]
sub eax, 0x339a9dd7
je 0x40caa9
jmp 0x40c0a2
mov eax, dword [ebp - 0xac]
sub eax, 0x36da9e9f
je 0x40cdca
jmp 0x40c0b8
mov eax, dword [ebp - 0xac]
sub eax, 0x401d3e41
je 0x40c249
jmp 0x40c0ce
mov eax, dword [ebp - 0xac]
sub eax, 0x40377219
je 0x40c506
jmp 0x40c0e4
mov eax, dword [ebp - 0xac]
sub eax, 0x40f37eb8
je 0x40cda2
jmp 0x40c0fa
mov eax, dword [ebp - 0xac]
sub eax, 0x48985a2a
je 0x40cade
jmp 0x40c110
mov eax, dword [ebp - 0xac]
sub eax, 0x5266f7bb
je 0x40c75f
jmp 0x40c126
mov eax, dword [ebp - 0xac]
sub eax, 0x5acedeb8
je 0x40d0b0
jmp 0x40c13c
mov eax, dword [ebp - 0xac]
sub eax, 0x5cd1370d
je 0x40cd5f
jmp 0x40c152
mov eax, dword [ebp - 0xac]
sub eax, 0x625c806b
je 0x40ce97
jmp 0x40c168
mov eax, dword [ebp - 0xac]
sub eax, 0x62dd1773
je 0x40cdbb
jmp 0x40c17e
mov eax, dword [ebp - 0xac]
sub eax, 0x65cafbd4
je 0x40c90f
jmp 0x40c194
mov eax, dword [ebp - 0xac]
sub eax, 0x6a34f07c
je 0x40ca8b
jmp 0x40c1aa
mov eax, dword [ebp - 0xac]
sub eax, 0x6bd39bb3
je 0x40cb14
jmp 0x40c1c0
mov eax, dword [ebp - 0xac]
sub eax, 0x6c54e555
je 0x40d15a
jmp 0x40c1d6
mov eax, dword [ebp - 0xac]
sub eax, 0x6c76df22
je 0x40c64b
jmp 0x40c1ec
mov eax, dword [ebp - 0xac]
sub eax, 0x6e5f9601
je 0x40c8a8
jmp 0x40c202
mov eax, dword [ebp - 0xac]
sub eax, 0x7aa10adf
je 0x40cd6e
jmp 0x40c218
mov eax, dword [ebp - 0xac]
sub eax, 0x7c67d6a7
je 0x40ca26
jmp 0x40c22e
mov eax, dword [ebp - 0xac]
sub eax, 0x7f0a65c5
je 0x40c9fd
jmp 0x40c244
jmp 0x40d294
mov al, byte [ebp - 0x9e]
mov cl, byte [ebp - 0x9d]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x243eba5
mov ecx, 0xff1eacbb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
push eax
mov eax, esp
mov dword [ebp - 0x9c], eax
push eax
mov eax, esp
mov dword [ebp - 0x98], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x94], eax
push eax
mov eax, esp
mov dword [ebp - 0x90], eax
mov ecx, dword [0x43f574]
mov eax, dword [0x43f570]
mov edx, ecx
sub edx, 0x8bd095ab
sub edx, 1
add edx, 0x8bd095ab
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, 0x243eba5
mov ecx, 0xba159dd6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov dword [ebp - 0xa4], 0x81f82078
jmp 0x40d294
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x88], eax
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
mov dword [ebp - 0xa4], 0x8c1c3469
jmp 0x40d294
mov ecx, dword [0x43f574]
mov eax, dword [0x43f570]
mov edx, ecx
sub edx, 0x65b25868
sub edx, 1
add edx, 0x65b25868
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, 0xa77d8b3a
mov ecx, 0xa8a17684
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov ecx, dword [ebp - 0xa8]
push eax
mov eax, esp
mov dword [ebp - 0x80], eax
push eax
mov eax, esp
mov dword [ebp - 0x7c], eax
push eax
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
mov eax, dword [ebp - 0x9c]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.00427830
add esp, 0xc
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x5d], al
mov ecx, dword [0x43f574]
mov eax, dword [0x43f570]
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, 0xa77d8b3a
mov ecx, 0x1af36bec
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov dl, byte [ebp - 0x5d]
mov eax, 0xd1668958
mov ecx, 0x40377219
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov dword [ebp - 0xa4], 0x9e0d9a6a
jmp 0x40d294
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
mov eax, dword [ebp - 0x94]
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 - 0x94]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x90]
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 - 0x88]
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 - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xa4], 0xf5c736aa
jmp 0x40d294
mov ecx, dword [0x43f574]
mov eax, dword [0x43f570]
mov edx, ecx
sub edx, 0x1c7d48ad
sub edx, 1
add edx, 0x1c7d48ad
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, 0xf7843044
mov ecx, 0x6c76df22
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov eax, dword [ebp - 0x5c]
mov ecx, 0xffffffff
cmp eax, ecx
sete al
and al, 1
mov byte [ebp - 0x55], al
mov ecx, dword [0x43f574]
mov eax, dword [0x43f570]
mov edx, ecx
add edx, 0x992ef21
sub edx, 1
sub edx, 0x992ef21
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, 0xf7843044
mov ecx, 0x93557aed
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov dword [ebp - 0xa4], 0xff519213
jmp 0x40d294
mov dl, byte [ebp - 0x55]
mov eax, 0xf7ce7ae1
mov ecx, 0xa034c6b8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov dword [ebp - 0xa4], 0x9e0d9a6a
jmp 0x40d294
mov eax, dword [ebp - 0x84]
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 dword [ebp - 0x54], eax
mov dword [ebp - 0xa4], 0x5266f7bb
jmp 0x40d294
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xa4], 0x295930dc
jmp 0x40d294
mov ecx, dword [0x43f574]
mov eax, dword [0x43f570]
mov edx, ecx
add edx, 0xe15ab209
sub edx, 1
sub edx, 0xe15ab209
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, 0x6c54e555
mov ecx, 0xa004ec87
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov eax, dword [ebp - 0x50]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x49], al
mov ecx, dword [0x43f574]
mov eax, dword [0x43f570]
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, 0x6c54e555
mov ecx, 0x217e0e67
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov dl, byte [ebp - 0x49]
mov eax, 0x3116dd9c
mov ecx, 0xd74e374c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0xa4], 0x6e5f9601
jmp 0x40d294
mov eax, dword [ebp - 0x48]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa4], 0xef8c79dc
jmp 0x40d294
mov eax, dword [0x43f574]
mov ecx, dword [0x43f570]
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, 0x179e7188
mov ecx, 0x65cafbd4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov ecx, dword [0x43f574]
mov eax, dword [0x43f570]
mov edx, ecx
sub edx, 0x31dc2711
sub edx, 1
add edx, 0x31dc2711
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, 0x179e7188
mov ecx, 0x1dfe6761
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov dword [ebp - 0xa4], 0x9e0d9a6a
jmp 0x40d294
mov eax, dword [ebp - 0x80]
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 - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xa4], 0x7f0a65c5
jmp 0x40d294
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x44]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xa4], 0x7c67d6a7
jmp 0x40d294
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov word [eax], 0
mov dword [ebp - 0xa4], 0x19045edb
jmp 0x40d294
mov eax, dword [ebp - 0x70]
movzx eax, word [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xa4], 0xa443b363
jmp 0x40d294
mov eax, dword [ebp - 0x34]
movzx ecx, word [eax + 2]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x2d], al
mov dword [ebp - 0xa4], 0x6a34f07c
jmp 0x40d294
mov dl, byte [ebp - 0x2d]
mov eax, 0x36da9e9f
mov ecx, 0x339a9dd7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov eax, dword [ebp - 0x74]
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 ecx, dword [ebp - 0x74]
mov ecx, dword [ecx]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xa4], 0x48985a2a
jmp 0x40d294
mov eax, dword [ebp - 0x70]
movzx eax, word [eax]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x2c]
sub ecx, 0x2cb2726a
add ecx, eax
add ecx, 0x2cb2726a
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xa4], 0x6bd39bb3
jmp 0x40d294
mov ecx, dword [ebp - 0x28]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x436e56
call fcn.0042b130
add esp, 8
mov edx, eax
mov eax, 0x8d69cbd7
mov ecx, 0x7aa10adf
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov eax, dword [ebp - 0x68]
mov dword [eax], 0
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
add eax, 8
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xa4], 0x8ac8e338
jmp 0x40d294
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x8c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0xa263bd8c
add edx, eax
sub edx, 0xa263bd8c
mov eax, dword [ebp - 0x68]
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 - 0x64]
mov byte [eax], cl
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa4], 0x29db237c
jmp 0x40d294
mov ecx, dword [0x43f574]
mov eax, dword [0x43f570]
mov edx, ecx
sub edx, 0xd26c6762
sub edx, 1
add edx, 0xd26c6762
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, 0x86065586
mov ecx, 0x8ae63d6e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x20]
sub edx, 0xb6693c44
add edx, eax
add edx, 0xb6693c44
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub ecx, eax
mov eax, dword [ebp - 0x6c]
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.00427990
add esp, 0xc
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x8c]
mov esi, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0xc37eb96e
add esi, eax
sub esi, 0xc37eb96e
mov eax, dword [ebp - 0x68]
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 - 0x64]
mov byte [eax], cl
mov ecx, dword [0x43f574]
mov eax, dword [0x43f570]
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, 0x86065586
mov ecx, 0x5cd1370d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov dword [ebp - 0xa4], 0x7aa10adf
jmp 0x40d294
mov dword [ebp - 0xa4], 0x8abbdc03
jmp 0x40d294
mov eax, dword [ebp - 0x70]
mov ax, word [eax]
add ax, 0xb3fe
add ax, 1
sub ax, 0xb3fe
mov word [ebp - 0x16], ax
mov dword [ebp - 0xa4], 0x40f37eb8
jmp 0x40d294
mov eax, dword [ebp - 0x70]
mov cx, word [ebp - 0x16]
mov word [eax], cx
mov dword [ebp - 0xa4], 0x62dd1773
jmp 0x40d294
mov dword [ebp - 0xa4], 0x19045edb
jmp 0x40d294
mov eax, dword [0x43f574]
mov ecx, dword [0x43f570]
mov edx, eax
add edx, 0xa24b55dd
sub edx, 1
sub edx, 0xa24b55dd
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, 0x9e04a80d
mov ecx, 0xb7b02d1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [0x43f574]
mov ecx, dword [0x43f570]
mov edx, eax
add edx, 0xa0f081e3
sub edx, 1
sub edx, 0xa0f081e3
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, 0x9e04a80d
mov ecx, 0xa9fa73bf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov dword [ebp - 0xa4], 0x625c806b
jmp 0x40d294
mov ecx, dword [0x43f574]
mov eax, dword [0x43f570]
mov edx, ecx
add edx, 0xb6a0f49f
sub edx, 1
sub edx, 0xb6a0f49f
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, 0xb7fe1986
mov ecx, 0xecdd3183
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x43f574]
mov eax, dword [0x43f570]
mov edx, ecx
add edx, 0xb3189665
sub edx, 1
sub edx, 0xb3189665
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, 0xb7fe1986
mov ecx, 0x14efefe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov dword [ebp - 0xa4], 0x18349682
jmp 0x40d294
mov dword [ebp - 0xa4], 0x9e0d9a6a
jmp 0x40d294
mov ecx, dword [0x43f574]
mov eax, dword [0x43f570]
mov edx, ecx
add edx, 0xd603a108
sub edx, 1
sub edx, 0xd603a108
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, 0xd5bba89f
mov ecx, 0x9483d0e8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov ecx, dword [0x43f574]
mov eax, dword [0x43f570]
mov edx, ecx
add edx, 0xb4a02c10
sub edx, 1
sub edx, 0xb4a02c10
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, 0xd5bba89f
mov ecx, 0x5acedeb8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x40d294
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00426b40
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0xa4], 0xff1eacbb
jmp 0x40d294
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x9c]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.00427830
add esp, 0xc
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xa4], 0xa8a17684
jmp 0x40d294
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xa4], 0x6c76df22
jmp 0x40d294
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xa4], 0xa004ec87
jmp 0x40d294
mov dword [ebp - 0xa4], 0x65cafbd4
jmp 0x40d294
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub ecx, eax
mov eax, dword [ebp - 0x6c]
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.00427990
add esp, 0xc
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x8c]
mov esi, dword [eax]
mov eax, dword [ebp - 0x6c]
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 - 0x68]
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 - 0x64]
mov byte [eax], cl
mov dword [ebp - 0xa4], 0x8ae63d6e
jmp 0x40d294
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa4], 0xb7b02d1
jmp 0x40d294
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa4], 0xecdd3183
jmp 0x40d294
mov dword [ebp - 0xa4], 0x9483d0e8
jmp 0x40bd00