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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x90
mov eax, dword [ebp + 8]
mov dword [ebp - 0x98], eax
mov eax, dword [0x431080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x94], 0x86a5227a
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x9c], eax
sub eax, 0x8431b31e
je 0x407e85
jmp 0x406ed5
mov eax, dword [ebp - 0x9c]
sub eax, 0x86a5227a
je 0x4073ec
jmp 0x406eeb
mov eax, dword [ebp - 0x9c]
sub eax, 0x8a7746fb
je 0x407b9a
jmp 0x406f01
mov eax, dword [ebp - 0x9c]
sub eax, 0x8b9f01a7
je 0x407791
jmp 0x406f17
mov eax, dword [ebp - 0x9c]
sub eax, 0x8bb3a2c2
je 0x408154
jmp 0x406f2d
mov eax, dword [ebp - 0x9c]
sub eax, 0x8fd944f5
je 0x40795d
jmp 0x406f43
mov eax, dword [ebp - 0x9c]
sub eax, 0x94f033a2
je 0x407cb5
jmp 0x406f59
mov eax, dword [ebp - 0x9c]
sub eax, 0x95551fe5
je 0x407ead
jmp 0x406f6f
mov eax, dword [ebp - 0x9c]
sub eax, 0x9899fa4c
je 0x407d24
jmp 0x406f85
mov eax, dword [ebp - 0x9c]
sub eax, 0x9c90d065
je 0x407b6b
jmp 0x406f9b
mov eax, dword [ebp - 0x9c]
sub eax, 0x9d652f34
je 0x407a0e
jmp 0x406fb1
mov eax, dword [ebp - 0x9c]
sub eax, 0x9e32b9e9
je 0x4076bd
jmp 0x406fc7
mov eax, dword [ebp - 0x9c]
sub eax, 0xa4fc6c00
je 0x4080a4
jmp 0x406fdd
mov eax, dword [ebp - 0x9c]
sub eax, 0xa4fedef2
je 0x4079ae
jmp 0x406ff3
mov eax, dword [ebp - 0x9c]
sub eax, 0xb9603e6e
je 0x408124
jmp 0x407009
mov eax, dword [ebp - 0x9c]
sub eax, 0xbc1f1b8a
je 0x407b83
jmp 0x40701f
mov eax, dword [ebp - 0x9c]
sub eax, 0xbc40df92
je 0x407daf
jmp 0x407035
mov eax, dword [ebp - 0x9c]
sub eax, 0xbd9b175f
je 0x407878
jmp 0x40704b
mov eax, dword [ebp - 0x9c]
sub eax, 0xc1775dd7
je 0x407ac6
jmp 0x407061
mov eax, dword [ebp - 0x9c]
sub eax, 0xc352a203
je 0x407946
jmp 0x407077
mov eax, dword [ebp - 0x9c]
sub eax, 0xcbfa58b9
je 0x407e60
jmp 0x40708d
mov eax, dword [ebp - 0x9c]
sub eax, 0xcbfd57ac
je 0x407a1d
jmp 0x4070a3
mov eax, dword [ebp - 0x9c]
sub eax, 0xcd0fd86f
je 0x4078c9
jmp 0x4070b9
mov eax, dword [ebp - 0x9c]
sub eax, 0xcda58513
je 0x407821
jmp 0x4070cf
mov eax, dword [ebp - 0x9c]
sub eax, 0xd12b0b1a
je 0x4080c5
jmp 0x4070e5
mov eax, dword [ebp - 0x9c]
sub eax, 0xd30a147a
je 0x408061
jmp 0x4070fb
mov eax, dword [ebp - 0x9c]
sub eax, 0xdbfed481
je 0x40766c
jmp 0x407111
mov eax, dword [ebp - 0x9c]
sub eax, 0xde6657d0
je 0x407462
jmp 0x407127
mov eax, dword [ebp - 0x9c]
sub eax, 0xe1d5b6df
je 0x407d06
jmp 0x40713d
mov eax, dword [ebp - 0x9c]
sub eax, 0xe22fdce9
je 0x40759e
jmp 0x407153
mov eax, dword [ebp - 0x9c]
sub eax, 0xe3bb6b78
je 0x407f66
jmp 0x407169
mov eax, dword [ebp - 0x9c]
sub eax, 0xf2a80c89
je 0x407fdc
jmp 0x40717f
mov eax, dword [ebp - 0x9c]
sub eax, 0xf2fa6661
je 0x407ab7
jmp 0x407195
mov eax, dword [ebp - 0x9c]
sub eax, 0xf6edb189
je 0x408070
jmp 0x4071ab
mov eax, dword [ebp - 0x9c]
sub eax, 0xfded3e39
je 0x407c47
jmp 0x4071c1
mov eax, dword [ebp - 0x9c]
sub eax, 0xff578cb6
je 0x4074ce
jmp 0x4071d7
mov eax, dword [ebp - 0x9c]
sub eax, 0x7d0282b
je 0x407a6e
jmp 0x4071ed
mov eax, dword [ebp - 0x9c]
sub eax, 0x13f83292
je 0x407f57
jmp 0x407203
mov eax, dword [ebp - 0x9c]
sub eax, 0x18e3b9bc
je 0x4080b6
jmp 0x407219
mov eax, dword [ebp - 0x9c]
sub eax, 0x2acb5837
je 0x4074dd
jmp 0x40722f
mov eax, dword [ebp - 0x9c]
sub eax, 0x2b156a9c
je 0x407d4f
jmp 0x407245
mov eax, dword [ebp - 0x9c]
sub eax, 0x2b6a4126
je 0x407bfb
jmp 0x40725b
mov eax, dword [ebp - 0x9c]
sub eax, 0x2df99c6f
je 0x40780a
jmp 0x407271
mov eax, dword [ebp - 0x9c]
sub eax, 0x2e069f9e
je 0x408184
jmp 0x407287
mov eax, dword [ebp - 0x9c]
sub eax, 0x4809c4db
je 0x40765d
jmp 0x40729d
mov eax, dword [ebp - 0x9c]
sub eax, 0x4d63c9a5
je 0x408163
jmp 0x4072b3
mov eax, dword [ebp - 0x9c]
sub eax, 0x5e3d5192
je 0x407bbe
jmp 0x4072c9
mov eax, dword [ebp - 0x9c]
sub eax, 0x612b38b3
je 0x408136
jmp 0x4072df
mov eax, dword [ebp - 0x9c]
sub eax, 0x624ea72b
je 0x4075e7
jmp 0x4072f5
mov eax, dword [ebp - 0x9c]
sub eax, 0x62c9778a
je 0x407efe
jmp 0x40730b
mov eax, dword [ebp - 0x9c]
sub eax, 0x6d640a57
je 0x40774a
jmp 0x407321
mov eax, dword [ebp - 0x9c]
sub eax, 0x6dc3fa3d
je 0x407e51
jmp 0x407337
mov eax, dword [ebp - 0x9c]
sub eax, 0x72e54f86
je 0x408172
jmp 0x40734d
mov eax, dword [ebp - 0x9c]
sub eax, 0x73ee6e99
je 0x407e9e
jmp 0x407363
mov eax, dword [ebp - 0x9c]
sub eax, 0x74401b2b
je 0x407759
jmp 0x407379
mov eax, dword [ebp - 0x9c]
sub eax, 0x798815ec
je 0x4080d4
jmp 0x40738f
mov eax, dword [ebp - 0x9c]
sub eax, 0x7a2593e0
je 0x407928
jmp 0x4073a5
mov eax, dword [ebp - 0x9c]
sub eax, 0x7e42fd90
je 0x407b36
jmp 0x4073bb
mov eax, dword [ebp - 0x9c]
sub eax, 0x7fd6c3e9
je 0x4077fb
jmp 0x4073d1
mov eax, dword [ebp - 0x9c]
sub eax, 0x7ff4b457
je 0x407b17
jmp 0x4073e7
jmp 0x40819d
mov ecx, dword [0x43255c]
mov eax, dword [0x432558]
mov edx, ecx
sub edx, 0x129bf01b
sub edx, 1
add edx, 0x129bf01b
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, 0x18e3b9bc
mov ecx, 0xde6657d0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x88], eax
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
push eax
mov eax, esp
mov dword [ebp - 0x80], eax
mov eax, dword [0x43255c]
mov ecx, dword [0x432558]
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, 0x18e3b9bc
mov ecx, 0xff578cb6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov dword [ebp - 0x94], 0x2acb5837
jmp 0x40819d
mov eax, dword [ebp - 0x98]
push eax
sub esp, 0x100
mov ecx, esp
mov dword [ebp - 0x7c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x78], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x74], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x70], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x6c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x68], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x64], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x60], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x5c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x90], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0041bbb0
add esp, 0xc
mov eax, dword [ebp - 0x90]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov edx, dword [ebp - 0x84]
mov eax, 0xe22fdce9
mov ecx, 0xdbfed481
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov eax, dword [0x43255c]
mov ecx, dword [0x432558]
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, 0xd12b0b1a
mov ecx, 0x624ea72b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov ecx, dword [0x43255c]
mov eax, dword [0x432558]
mov edx, ecx
sub edx, 0x194757a1
sub edx, 1
add edx, 0x194757a1
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, 0xd12b0b1a
mov ecx, 0x4809c4db
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov dword [ebp - 0x94], 0xa4fc6c00
jmp 0x40819d
mov eax, dword [0x43255c]
mov ecx, dword [0x432558]
mov edx, eax
sub edx, 0xb7cb0b9e
sub edx, 1
add edx, 0xb7cb0b9e
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, 0x798815ec
mov ecx, 0x9e32b9e9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x8c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x88]
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 - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x54], eax
mov eax, dword [0x43255c]
mov ecx, dword [0x432558]
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, 0x798815ec
mov ecx, 0x6d640a57
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov dword [ebp - 0x94], 0x74401b2b
jmp 0x40819d
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x54]
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 - 0x7c]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x94], 0x8b9f01a7
jmp 0x40819d
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 ecx, eax
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov edx, dword [ebp - 0x78]
mov esi, 0xffffffff
mov eax, 0x2df99c6f
mov ecx, 0x7fd6c3e9
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov dword [ebp - 0x94], 0xa4fc6c00
jmp 0x40819d
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x94], 0xcda58513
jmp 0x40819d
mov eax, dword [ebp - 0x4c]
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 - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x94], 0xbd9b175f
jmp 0x40819d
mov eax, dword [0x43255c]
mov ecx, dword [0x432558]
mov edx, eax
sub edx, 0x2c19aa6e
sub edx, 1
add edx, 0x2c19aa6e
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, 0xb9603e6e
mov ecx, 0xcd0fd86f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov eax, dword [ebp - 0x48]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x41], al
mov eax, dword [0x43255c]
mov ecx, dword [0x432558]
mov edx, eax
add edx, 0x1c266377
sub edx, 1
sub edx, 0x1c266377
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, 0xb9603e6e
mov ecx, 0x7a2593e0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov dl, byte [ebp - 0x41]
mov eax, 0xc352a203
mov ecx, 0xc1775dd7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x94], 0x8fd944f5
jmp 0x40819d
mov eax, dword [0x43255c]
mov ecx, dword [0x432558]
mov edx, eax
sub edx, 0xb2336541
sub edx, 1
add edx, 0xb2336541
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, 0x612b38b3
mov ecx, 0xa4fedef2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov eax, dword [ebp - 0x40]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x43255c]
mov ecx, dword [0x432558]
mov edx, eax
add edx, 0x60a478c8
sub edx, 1
sub edx, 0x60a478c8
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, 0x612b38b3
mov ecx, 0x9d652f34
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov dword [ebp - 0x94], 0xcbfd57ac
jmp 0x40819d
mov eax, dword [0x43255c]
mov ecx, dword [0x432558]
mov edx, eax
add edx, 0xc1265a78
sub edx, 1
sub edx, 0xc1265a78
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, 0x8bb3a2c2
mov ecx, 0x7d0282b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov eax, dword [0x43255c]
mov ecx, dword [0x432558]
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, 0x8bb3a2c2
mov ecx, 0xf2fa6661
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov dword [ebp - 0x94], 0xa4fc6c00
jmp 0x40819d
mov eax, dword [ebp - 0x74]
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 - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x94], 0x7ff4b457
jmp 0x40819d
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x94], 0x7e42fd90
jmp 0x40819d
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
sub ecx, 0x343a0f83
add ecx, eax
add ecx, 0x343a0f83
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov word [eax], 0
mov dword [ebp - 0x94], 0x9c90d065
jmp 0x40819d
mov eax, dword [ebp - 0x64]
movzx eax, word [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x94], 0xbc1f1b8a
jmp 0x40819d
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x94], 0x8a7746fb
jmp 0x40819d
mov eax, dword [ebp - 0x30]
movzx esi, word [eax + 6]
mov edx, dword [ebp - 0x34]
mov eax, 0x95551fe5
mov ecx, 0x5e3d5192
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov eax, dword [ebp - 0x68]
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 - 0x68]
mov ecx, dword [ecx]
movzx edx, word [ecx + 0x14]
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 dword [ebp - 0x94], 0x2b6a4126
jmp 0x40819d
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x64]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42a971
call fcn.0041f4b0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x25], al
mov dword [ebp - 0x94], 0xfded3e39
jmp 0x40819d
mov ecx, dword [0x43255c]
mov eax, dword [0x432558]
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, 0x4d63c9a5
mov ecx, 0x94f033a2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov eax, dword [0x43255c]
mov ecx, dword [0x432558]
mov edx, eax
sub edx, 0x2ccc1ecb
sub edx, 1
add edx, 0x2ccc1ecb
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, 0x4d63c9a5
mov ecx, 0xe1d5b6df
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov dl, byte [ebp - 0x25]
mov eax, 0x9899fa4c
mov ecx, 0x6dc3fa3d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov eax, dword [ebp - 0x5c]
mov dword [eax], 0
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x94], 0x2b156a9c
jmp 0x40819d
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
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 - 0x5c]
mov ecx, dword [ebp - 0x24]
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 - 0x58]
mov byte [eax], cl
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x94], 0xbc40df92
jmp 0x40819d
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x1c]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, esi
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x60]
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.0041bd10
add esp, 0xc
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov esi, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, edi
sub esi, eax
mov eax, dword [ebp - 0x5c]
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 - 0x58]
mov byte [eax], cl
mov dword [ebp - 0x94], 0x6dc3fa3d
jmp 0x40819d
mov dword [ebp - 0x94], 0xcbfa58b9
jmp 0x40819d
mov eax, dword [ebp - 0x64]
mov ax, word [eax]
add ax, 0xd377
add ax, 1
sub ax, 0xd377
mov word [ebp - 0x16], ax
mov dword [ebp - 0x94], 0x8431b31e
jmp 0x40819d
mov eax, dword [ebp - 0x64]
mov cx, word [ebp - 0x16]
mov word [eax], cx
mov dword [ebp - 0x94], 0x73ee6e99
jmp 0x40819d
mov dword [ebp - 0x94], 0x9c90d065
jmp 0x40819d
mov eax, dword [0x43255c]
mov ecx, dword [0x432558]
mov edx, eax
add edx, 0x6f45f287
sub edx, 1
sub edx, 0x6f45f287
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, 0x72e54f86
mov ecx, 0x62c9778a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [0x43255c]
mov ecx, dword [0x432558]
mov edx, eax
sub edx, 0x98dbab05
sub edx, 1
add edx, 0x98dbab05
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, 0x72e54f86
mov ecx, 0x13f83292
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov dword [ebp - 0x94], 0xe3bb6b78
jmp 0x40819d
mov ecx, dword [0x43255c]
mov eax, dword [0x432558]
mov edx, ecx
sub edx, 0x2396b772
sub edx, 1
add edx, 0x2396b772
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, 0x2e069f9e
mov ecx, 0xf2a80c89
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x43255c]
mov eax, dword [0x432558]
mov edx, ecx
add edx, 0x70602abd
sub edx, 1
sub edx, 0x70602abd
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, 0x2e069f9e
mov ecx, 0xd30a147a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40819d
mov dword [ebp - 0x94], 0xf6edb189
jmp 0x40819d
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0xa4fc6c00
jmp 0x40819d
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041aec0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x94], 0xde6657d0
jmp 0x40819d
mov dword [ebp - 0x94], 0x624ea72b
jmp 0x40819d
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x8c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x88]
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 - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x94], 0x9e32b9e9
jmp 0x40819d
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x94], 0xcd0fd86f
jmp 0x40819d
mov eax, dword [ebp - 0x40]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0xa4fedef2
jmp 0x40819d
mov dword [ebp - 0x94], 0x7d0282b
jmp 0x40819d
mov dword [ebp - 0x94], 0x94f033a2
jmp 0x40819d
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x94], 0x62c9778a
jmp 0x40819d
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0xf2a80c89
jmp 0x406eb9