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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x98
mov eax, dword [ebp + 8]
mov dword [ebp - 0x90], eax
mov eax, dword [0x43c080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
mov edx, ecx
add edx, 0x4c2f5339
sub edx, 1
sub edx, 0x4c2f5339
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x86], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x85], al
mov dword [ebp - 0x8c], 0x7081af0e
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x94], eax
sub eax, 0x80be0713
je 0x40cac3
jmp 0x40b753
mov eax, dword [ebp - 0x94]
sub eax, 0x8f150bb4
je 0x40c758
jmp 0x40b769
mov eax, dword [ebp - 0x94]
sub eax, 0x8f25fc74
je 0x40c53c
jmp 0x40b77f
mov eax, dword [ebp - 0x94]
sub eax, 0x910b7ded
je 0x40c30b
jmp 0x40b795
mov eax, dword [ebp - 0x94]
sub eax, 0x927f3063
je 0x40cb40
jmp 0x40b7ab
mov eax, dword [ebp - 0x94]
sub eax, 0xa10fda5a
je 0x40cbf7
jmp 0x40b7c1
mov eax, dword [ebp - 0x94]
sub eax, 0xa60fd790
je 0x40c4bb
jmp 0x40b7d7
mov eax, dword [ebp - 0x94]
sub eax, 0xa86d40ee
je 0x40c8e8
jmp 0x40b7ed
mov eax, dword [ebp - 0x94]
sub eax, 0xb039ac60
je 0x40cb00
jmp 0x40b803
mov eax, dword [ebp - 0x94]
sub eax, 0xb8c94036
je 0x40c4f6
jmp 0x40b819
mov eax, dword [ebp - 0x94]
sub eax, 0xbcec37be
je 0x40cb2e
jmp 0x40b82f
mov eax, dword [ebp - 0x94]
sub eax, 0xbf67c32d
je 0x40be06
jmp 0x40b845
mov eax, dword [ebp - 0x94]
sub eax, 0xc4582f4e
je 0x40c4d2
jmp 0x40b85b
mov eax, dword [ebp - 0x94]
sub eax, 0xc4c67ce6
je 0x40c3a8
jmp 0x40b871
mov eax, dword [ebp - 0x94]
sub eax, 0xc4de4c9b
je 0x40c863
jmp 0x40b887
mov eax, dword [ebp - 0x94]
sub eax, 0xc64c2535
je 0x40bf0e
jmp 0x40b89d
mov eax, dword [ebp - 0x94]
sub eax, 0xccccb646
je 0x40c42d
jmp 0x40b8b3
mov eax, dword [ebp - 0x94]
sub eax, 0xcd240c13
je 0x40c98d
jmp 0x40b8c9
mov eax, dword [ebp - 0x94]
sub eax, 0xcec1954f
je 0x40bef0
jmp 0x40b8df
mov eax, dword [ebp - 0x94]
sub eax, 0xd3707ff6
je 0x40c9dc
jmp 0x40b8f5
mov eax, dword [ebp - 0x94]
sub eax, 0xd4613411
je 0x40cab4
jmp 0x40b90b
mov eax, dword [ebp - 0x94]
sub eax, 0xd4d2d1e4
je 0x40c97e
jmp 0x40b921
mov eax, dword [ebp - 0x94]
sub eax, 0xd621e279
je 0x40c21e
jmp 0x40b937
mov eax, dword [ebp - 0x94]
sub eax, 0xd8b43814
je 0x40bdf7
jmp 0x40b94d
mov eax, dword [ebp - 0x94]
sub eax, 0xdf69587e
je 0x40c1cf
jmp 0x40b963
mov eax, dword [ebp - 0x94]
sub eax, 0xdf832af5
je 0x40c23c
jmp 0x40b979
mov eax, dword [ebp - 0x94]
sub eax, 0xe1a5768b
je 0x40be39
jmp 0x40b98f
mov eax, dword [ebp - 0x94]
sub eax, 0xe5484fa3
je 0x40cc3f
jmp 0x40b9a5
mov eax, dword [ebp - 0x94]
sub eax, 0xec2f2834
je 0x40c380
jmp 0x40b9bb
mov eax, dword [ebp - 0x94]
sub eax, 0xed13eecd
je 0x40c50d
jmp 0x40b9d1
mov eax, dword [ebp - 0x94]
sub eax, 0xee6f6432
je 0x40c110
jmp 0x40b9e7
mov eax, dword [ebp - 0x94]
sub eax, 0x1684194
je 0x40c1a9
jmp 0x40b9fd
mov eax, dword [ebp - 0x94]
sub eax, 0x3158dbb
je 0x40c285
jmp 0x40ba13
mov eax, dword [ebp - 0x94]
sub eax, 0x65c8f40
je 0x40c7a9
jmp 0x40ba29
mov eax, dword [ebp - 0x94]
sub eax, 0x12f33106
je 0x40ca3f
jmp 0x40ba3f
mov eax, dword [ebp - 0x94]
sub eax, 0x1a16fa70
je 0x40c749
jmp 0x40ba55
mov eax, dword [ebp - 0x94]
sub eax, 0x1a753c50
je 0x40ca50
jmp 0x40ba6b
mov eax, dword [ebp - 0x94]
sub eax, 0x27e912ae
je 0x40c31a
jmp 0x40ba81
mov eax, dword [ebp - 0x94]
sub eax, 0x32aef097
je 0x40c4ac
jmp 0x40ba97
mov eax, dword [ebp - 0x94]
sub eax, 0x33093197
je 0x40c1b8
jmp 0x40baad
mov eax, dword [ebp - 0x94]
sub eax, 0x36134617
je 0x40c9cd
jmp 0x40bac3
mov eax, dword [ebp - 0x94]
sub eax, 0x3ddfa212
je 0x40c2ed
jmp 0x40bad9
mov eax, dword [ebp - 0x94]
sub eax, 0x3e4faff1
je 0x40c872
jmp 0x40baef
mov eax, dword [ebp - 0x94]
sub eax, 0x40ce3d59
je 0x40c9a6
jmp 0x40bb05
mov eax, dword [ebp - 0x94]
sub eax, 0x48cba5f8
je 0x40c9fc
jmp 0x40bb1b
mov eax, dword [ebp - 0x94]
sub eax, 0x4bf77478
je 0x40c61e
jmp 0x40bb31
mov eax, dword [ebp - 0x94]
sub eax, 0x4d005367
je 0x40cb1c
jmp 0x40bb47
mov eax, dword [ebp - 0x94]
sub eax, 0x513cb578
je 0x40bcd4
jmp 0x40bb5d
mov eax, dword [ebp - 0x94]
sub eax, 0x54be99c3
je 0x40ca30
jmp 0x40bb73
mov eax, dword [ebp - 0x94]
sub eax, 0x5cc1b699
je 0x40c11f
jmp 0x40bb89
mov eax, dword [ebp - 0x94]
sub eax, 0x5f2141ae
je 0x40bf1d
jmp 0x40bb9f
mov eax, dword [ebp - 0x94]
sub eax, 0x62190353
je 0x40c041
jmp 0x40bbb5
mov eax, dword [ebp - 0x94]
sub eax, 0x65261a5d
je 0x40c08a
jmp 0x40bbcb
mov eax, dword [ebp - 0x94]
sub eax, 0x6e75172f
je 0x40bf8b
jmp 0x40bbe1
mov eax, dword [ebp - 0x94]
sub eax, 0x7081af0e
je 0x40bc80
jmp 0x40bbf7
mov eax, dword [ebp - 0x94]
sub eax, 0x713b8e7a
je 0x40c96f
jmp 0x40bc0d
mov eax, dword [ebp - 0x94]
sub eax, 0x75bcdc71
je 0x40c2de
jmp 0x40bc23
mov eax, dword [ebp - 0x94]
sub eax, 0x7b13a533
je 0x40c5a8
jmp 0x40bc39
mov eax, dword [ebp - 0x94]
sub eax, 0x7cd156e3
je 0x40c3bf
jmp 0x40bc4f
mov eax, dword [ebp - 0x94]
sub eax, 0x7d5f5123
je 0x40c032
jmp 0x40bc65
mov eax, dword [ebp - 0x94]
sub eax, 0x7f478a08
je 0x40bea7
jmp 0x40bc7b
jmp 0x40cc5a
mov bl, byte [ebp - 0x86]
mov dh, byte [ebp - 0x85]
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, 0x1a753c50
mov ecx, 0x513cb578
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov ecx, dword [ebp - 0x90]
push eax
mov eax, esp
mov dword [ebp - 0x98], eax
push eax
mov edx, esp
mov dword [ebp - 0x84], edx
sub esp, 0xc
mov edx, esp
mov dword [ebp - 0x80], edx
push eax
mov edx, esp
mov dword [ebp - 0x7c], edx
push eax
mov edx, esp
mov dword [ebp - 0x78], edx
sub esp, 0x104
mov edx, esp
mov dword [ebp - 0x74], edx
push eax
mov edx, esp
mov dword [ebp - 0x70], edx
push eax
mov edx, esp
mov dword [ebp - 0x6c], edx
push eax
mov edx, esp
mov dword [ebp - 0x68], edx
push eax
mov edx, esp
mov dword [ebp - 0x64], edx
push eax
mov edx, esp
mov dword [ebp - 0x60], edx
push eax
mov edx, esp
mov dword [ebp - 0x5c], edx
push eax
mov edx, esp
mov dword [ebp - 0x58], edx
push eax
mov edx, esp
mov dword [ebp - 0x54], edx
push eax
mov edx, esp
mov dword [ebp - 0x50], edx
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.00425320
mov eax, dword [ebp - 0x98]
add esp, 0xc
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
mov edx, ecx
add edx, 0xd02d61b4
sub edx, 1
sub edx, 0xd02d61b4
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, 0x1a753c50
mov ecx, 0xd8b43814
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov dword [ebp - 0x8c], 0xbf67c32d
jmp 0x40cc5a
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x45], al
mov dword [ebp - 0x8c], 0xe1a5768b
jmp 0x40cc5a
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
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, 0xd4613411
mov ecx, 0x7f478a08
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov eax, dword [0x43d554]
mov ecx, dword [0x43d550]
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, 0xd4613411
mov ecx, 0xcec1954f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov dl, byte [ebp - 0x45]
mov eax, 0xc64c2535
mov ecx, 0x5f2141ae
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov dword [ebp - 0x8c], 0x12f33106
jmp 0x40cc5a
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
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, 0x80be0713
mov ecx, 0x6e75172f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
mov eax, dword [ebp - 0x80]
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 - 0x80]
mov dword [ebp - 0x44], eax
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
mov edx, ecx
sub edx, 0x463d0e46
sub edx, 1
add edx, 0x463d0e46
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, 0x80be0713
mov ecx, 0x7d5f5123
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov dword [ebp - 0x8c], 0x62190353
jmp 0x40cc5a
mov eax, dword [0x43d554]
mov ecx, dword [0x43d550]
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, 0xb039ac60
mov ecx, 0x65261a5d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x40], eax
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
mov edx, ecx
sub edx, 0x701866f8
sub edx, 1
add edx, 0x701866f8
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, 0xb039ac60
mov ecx, 0xee6f6432
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov dword [ebp - 0x8c], 0x5cc1b699
jmp 0x40cc5a
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x40]
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 - 0x74]
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 - 0x70]
mov dword [eax], ecx
mov edx, dword [ebp - 0x70]
mov esi, 0xffffffff
mov eax, 0x33093197
mov ecx, 0x1684194
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov dword [ebp - 0x8c], 0x12f33106
jmp 0x40cc5a
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x8c], 0xdf69587e
jmp 0x40cc5a
mov eax, dword [ebp - 0x3c]
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 - 0x6c]
mov dword [eax], ecx
mov dword [ebp - 0x8c], 0xd621e279
jmp 0x40cc5a
mov edx, dword [ebp - 0x6c]
mov eax, 0xdf832af5
mov ecx, 0x27e912ae
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov eax, dword [0x43d554]
mov ecx, dword [0x43d550]
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, 0x4d005367
mov ecx, 0x3158dbb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [0x43d554]
mov ecx, dword [0x43d550]
mov edx, eax
sub edx, 0x7cca5d19
sub edx, 1
add edx, 0x7cca5d19
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, 0x4d005367
mov ecx, 0x75bcdc71
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov dword [ebp - 0x8c], 0x3ddfa212
jmp 0x40cc5a
mov eax, dword [ebp - 0x38]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8c], 0x910b7ded
jmp 0x40cc5a
mov dword [ebp - 0x8c], 0x12f33106
jmp 0x40cc5a
mov eax, dword [ebp - 0x6c]
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 - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x8c], 0xec2f2834
jmp 0x40cc5a
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov dword [ebp - 0x8c], 0xc4c67ce6
jmp 0x40cc5a
mov eax, dword [ebp - 0x5c]
mov word [eax], 0
mov dword [ebp - 0x8c], 0x7cd156e3
jmp 0x40cc5a
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
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, 0xbcec37be
mov ecx, 0xccccb646
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov eax, dword [ebp - 0x5c]
movzx eax, word [eax]
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
mov edx, ecx
add edx, 0xe9adc2f
sub edx, 1
sub edx, 0xe9adc2f
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, 0xbcec37be
mov ecx, 0x32aef097
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov dword [ebp - 0x8c], 0xa60fd790
jmp 0x40cc5a
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x8c], 0xc4582f4e
jmp 0x40cc5a
mov eax, dword [ebp - 0x28]
movzx esi, word [eax + 6]
mov edx, dword [ebp - 0x2c]
mov eax, 0xd3707ff6
mov ecx, 0xb8c94036
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x8c], 0xed13eecd
jmp 0x40cc5a
mov eax, dword [ebp - 0x24]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x18
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x8c], 0x8f25fc74
jmp 0x40cc5a
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x10]
mov ecx, dword [ebp - 0x20]
add ecx, 0x3a2effd
add ecx, eax
sub ecx, 0x3a2effd
mov eax, dword [ebp - 0x5c]
movzx eax, word [eax]
imul eax, eax, 0x28
add ecx, 0x7a0cc4b7
add ecx, eax
sub ecx, 0x7a0cc4b7
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x434e5e
call fcn.00428c20
add esp, 8
mov edx, eax
mov eax, 0x7b13a533
mov ecx, 0xd4d2d1e4
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
mov edx, ecx
add edx, 0x86d917f8
sub edx, 1
sub edx, 0x86d917f8
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, 0x927f3063
mov ecx, 0x4bf77478
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov eax, dword [ebp - 0x54]
mov dword [eax], 0
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x2c0bfd4c
add edx, eax
add edx, 0x2c0bfd4c
mov eax, dword [ebp - 0x54]
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 - 0x50]
mov byte [eax], cl
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0xd5e7a373
add edx, eax
sub edx, 0xd5e7a373
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0x509d1768
add ecx, eax
sub ecx, 0x509d1768
mov eax, dword [ebp - 0x58]
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.00425480
add esp, 0xc
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
mov edx, ecx
add edx, 0xb59ca5fd
sub edx, 1
sub edx, 0xb59ca5fd
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, 0x927f3063
mov ecx, 0x1a16fa70
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov dword [ebp - 0x8c], 0x8f150bb4
jmp 0x40cc5a
mov eax, dword [0x43d554]
mov ecx, dword [0x43d550]
mov edx, eax
sub edx, 0x38beed48
sub edx, 1
add edx, 0x38beed48
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, 0xa10fda5a
mov ecx, 0x65c8f40
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x78]
mov esi, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0x5af5136a
add esi, eax
sub esi, 0x5af5136a
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x18]
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]
mov dword [ebp - 0x14], eax
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
mov edx, ecx
add edx, 0x9a067abe
sub edx, 1
sub edx, 0x9a067abe
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, 0xa10fda5a
mov ecx, 0xc4de4c9b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov dword [ebp - 0x8c], 0x3e4faff1
jmp 0x40cc5a
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
mov edx, ecx
add edx, 0xde4c13f2
sub edx, 1
sub edx, 0xde4c13f2
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, 0xe5484fa3
mov ecx, 0xa86d40ee
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov eax, dword [ebp - 0x14]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x50]
mov byte [eax], cl
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
mov edx, ecx
add edx, 0x33543225
sub edx, 1
sub edx, 0x33543225
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, 0xe5484fa3
mov ecx, 0x713b8e7a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40cc5a
mov dword [ebp - 0x8c], 0xd4d2d1e4
jmp 0x40cc5a
mov dword [ebp - 0x8c], 0xcd240c13
jmp 0x40cc5a
mov eax, dword [ebp - 0x5c]
mov ax, word [eax]
mov word [ebp - 0xe], ax
mov dword [ebp - 0x8c], 0x40ce3d59
jmp 0x40cc5a
mov cx, word [ebp - 0xe]
add cx, 0x6dbb
add cx, 1
sub cx, 0x6dbb
mov eax, dword [ebp - 0x5c]
mov word [eax], cx
mov dword [ebp - 0x8c], 0x36134617
jmp 0x40cc5a
mov dword [ebp - 0x8c], 0x7cd156e3
jmp 0x40cc5a
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], 0x48cba5f8
jmp 0x40cc5a
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 - 0x84]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8c], 0x54be99c3
jmp 0x40cc5a
mov dword [ebp - 0x8c], 0x12f33106
jmp 0x40cc5a
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00424630
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x90]
push eax
mov eax, esp
push eax
mov edx, esp
mov dword [ebp - 0xa0], edx
sub esp, 0xc
mov edx, esp
mov dword [ebp - 0x9c], edx
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, dword [ebp - 0xa0]
mov edx, eax
mov eax, dword [ebp - 0x9c]
mov dword [ecx], edx
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.00425320
add esp, 0xc
mov dword [ebp - 0x8c], 0x513cb578
jmp 0x40cc5a
mov dword [ebp - 0x8c], 0x7f478a08
jmp 0x40cc5a
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
mov eax, dword [ebp - 0x80]
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 - 0x80]
mov dword [ebp - 0x8c], 0x6e75172f
jmp 0x40cc5a
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x8c], 0x65261a5d
jmp 0x40cc5a
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x8c], 0x3158dbb
jmp 0x40cc5a
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x8c], 0xccccb646
jmp 0x40cc5a
mov eax, dword [ebp - 0x54]
mov dword [eax], 0
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x54]
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 - 0x50]
mov byte [eax], cl
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x6bb93d1c
add edx, eax
add edx, 0x6bb93d1c
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub ecx, 0x49165c69
add ecx, eax
add ecx, 0x49165c69
mov eax, dword [ebp - 0x58]
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.00425480
add esp, 0xc
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x8c], 0x4bf77478
jmp 0x40cc5a
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x78]
mov esi, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub esi, eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x18]
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]
mov dword [ebp - 0x8c], 0x65c8f40
jmp 0x40cc5a
mov eax, dword [ebp - 0x14]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x50]
mov byte [eax], cl
mov dword [ebp - 0x8c], 0xa86d40ee
jmp 0x40b737