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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x1b0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1b4], eax
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1b0], 0xe1562f6a
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x1b8], eax
sub eax, 0x80826f11
je 0x4032d5
jmp 0x402824
mov eax, dword [ebp - 0x1b8]
sub eax, 0x8b31243f
je 0x403819
jmp 0x40283a
mov eax, dword [ebp - 0x1b8]
sub eax, 0x8b383180
je 0x403ca1
jmp 0x402850
mov eax, dword [ebp - 0x1b8]
sub eax, 0x9b123970
je 0x403b33
jmp 0x402866
mov eax, dword [ebp - 0x1b8]
sub eax, 0xa5354647
je 0x403ac4
jmp 0x40287c
mov eax, dword [ebp - 0x1b8]
sub eax, 0xab61d64a
je 0x40342b
jmp 0x402892
mov eax, dword [ebp - 0x1b8]
sub eax, 0xb47e2293
je 0x403377
jmp 0x4028a8
mov eax, dword [ebp - 0x1b8]
sub eax, 0xba03ce65
je 0x403c92
jmp 0x4028be
mov eax, dword [ebp - 0x1b8]
sub eax, 0xbf813144
je 0x403226
jmp 0x4028d4
mov eax, dword [ebp - 0x1b8]
sub eax, 0xc281dd43
je 0x403102
jmp 0x4028ea
mov eax, dword [ebp - 0x1b8]
sub eax, 0xc51dd697
je 0x40313e
jmp 0x402900
mov eax, dword [ebp - 0x1b8]
sub eax, 0xc631ed09
je 0x4034b1
jmp 0x402916
mov eax, dword [ebp - 0x1b8]
sub eax, 0xc83f4695
je 0x402e2e
jmp 0x40292c
mov eax, dword [ebp - 0x1b8]
sub eax, 0xc86dc156
je 0x4035c1
jmp 0x402942
mov eax, dword [ebp - 0x1b8]
sub eax, 0xc8e42e95
je 0x403c09
jmp 0x402958
mov eax, dword [ebp - 0x1b8]
sub eax, 0xca340ed5
je 0x403ad3
jmp 0x40296e
mov eax, dword [ebp - 0x1b8]
sub eax, 0xcc4efef0
je 0x402d9e
jmp 0x402984
mov eax, dword [ebp - 0x1b8]
sub eax, 0xcc8d1455
je 0x4039e9
jmp 0x40299a
mov eax, dword [ebp - 0x1b8]
sub eax, 0xce1bc09d
je 0x4039ca
jmp 0x4029b0
mov eax, dword [ebp - 0x1b8]
sub eax, 0xcfb3c0c7
je 0x403603
jmp 0x4029c6
mov eax, dword [ebp - 0x1b8]
sub eax, 0xdb12d4c4
je 0x403326
jmp 0x4029dc
mov eax, dword [ebp - 0x1b8]
sub eax, 0xdfcd360e
je 0x403075
jmp 0x4029f2
mov eax, dword [ebp - 0x1b8]
sub eax, 0xe0f6205b
je 0x403c1a
jmp 0x402a08
mov eax, dword [ebp - 0x1b8]
sub eax, 0xe1562f6a
je 0x402d7d
jmp 0x402a1e
mov eax, dword [ebp - 0x1b8]
sub eax, 0xe39a3890
je 0x403954
jmp 0x402a34
mov eax, dword [ebp - 0x1b8]
sub eax, 0xe61e03b5
je 0x403217
jmp 0x402a4a
mov eax, dword [ebp - 0x1b8]
sub eax, 0xe6468e15
je 0x403cd1
jmp 0x402a60
mov eax, dword [ebp - 0x1b8]
sub eax, 0xe7040814
je 0x402ec0
jmp 0x402a76
mov eax, dword [ebp - 0x1b8]
sub eax, 0xebd5784c
je 0x402fba
jmp 0x402a8c
mov eax, dword [ebp - 0x1b8]
sub eax, 0xebffe89a
je 0x403679
jmp 0x402aa2
mov eax, dword [ebp - 0x1b8]
sub eax, 0xecffb59f
je 0x402e77
jmp 0x402ab8
mov eax, dword [ebp - 0x1b8]
sub eax, 0xedf52cdc
je 0x403536
jmp 0x402ace
mov eax, dword [ebp - 0x1b8]
sub eax, 0xf73bbf5e
je 0x403b42
jmp 0x402ae4
mov eax, dword [ebp - 0x1b8]
sub eax, 0xfef10bab
je 0x40309f
jmp 0x402afa
mov eax, dword [ebp - 0x1b8]
sub eax, 0xff3bc586
je 0x403736
jmp 0x402b10
mov eax, dword [ebp - 0x1b8]
sub eax, 0x58f2d68
je 0x403a12
jmp 0x402b26
mov eax, dword [ebp - 0x1b8]
sub eax, 0x5e26134
je 0x4033b5
jmp 0x402b3c
mov eax, dword [ebp - 0x1b8]
sub eax, 0x9d33f7e
je 0x40385f
jmp 0x402b52
mov eax, dword [ebp - 0x1b8]
sub eax, 0xd174d07
je 0x403c71
jmp 0x402b68
mov eax, dword [ebp - 0x1b8]
sub eax, 0x132931c1
je 0x403386
jmp 0x402b7e
mov eax, dword [ebp - 0x1b8]
sub eax, 0x166afc81
je 0x403d3b
jmp 0x402b94
mov eax, dword [ebp - 0x1b8]
sub eax, 0x196cb65f
je 0x403a63
jmp 0x402baa
mov eax, dword [ebp - 0x1b8]
sub eax, 0x2bfb5016
je 0x4031b4
jmp 0x402bc0
mov eax, dword [ebp - 0x1b8]
sub eax, 0x2c964bfc
je 0x402f18
jmp 0x402bd6
mov eax, dword [ebp - 0x1b8]
sub eax, 0x2e765ad6
je 0x403123
jmp 0x402bec
mov eax, dword [ebp - 0x1b8]
sub eax, 0x347ec0e8
je 0x4039bb
jmp 0x402c02
mov eax, dword [ebp - 0x1b8]
sub eax, 0x354c2144
je 0x4036d6
jmp 0x402c18
mov eax, dword [ebp - 0x1b8]
sub eax, 0x394c45b9
je 0x403046
jmp 0x402c2e
mov eax, dword [ebp - 0x1b8]
sub eax, 0x3ca10beb
je 0x403cb6
jmp 0x402c44
mov eax, dword [ebp - 0x1b8]
sub eax, 0x40e8430c
je 0x403235
jmp 0x402c5a
mov eax, dword [ebp - 0x1b8]
sub eax, 0x423539ca
je 0x402ecf
jmp 0x402c70
mov eax, dword [ebp - 0x1b8]
sub eax, 0x435c94b1
je 0x4034c0
jmp 0x402c86
mov eax, dword [ebp - 0x1b8]
sub eax, 0x48c97eff
je 0x40327e
jmp 0x402c9c
mov eax, dword [ebp - 0x1b8]
sub eax, 0x4dc61a2a
je 0x403084
jmp 0x402cb2
mov eax, dword [ebp - 0x1b8]
sub eax, 0x61d05671
je 0x4036e5
jmp 0x402cc8
mov eax, dword [ebp - 0x1b8]
sub eax, 0x6218f943
je 0x4035a0
jmp 0x402cde
mov eax, dword [ebp - 0x1b8]
sub eax, 0x65714551
je 0x4037f8
jmp 0x402cf4
mov eax, dword [ebp - 0x1b8]
sub eax, 0x65d45ff6
je 0x403c29
jmp 0x402d0a
mov eax, dword [ebp - 0x1b8]
sub eax, 0x6709b64d
je 0x403b12
jmp 0x402d20
mov eax, dword [ebp - 0x1b8]
sub eax, 0x6a5382be
je 0x403d5a
jmp 0x402d36
mov eax, dword [ebp - 0x1b8]
sub eax, 0x7644dc59
je 0x402fc9
jmp 0x402d4c
mov eax, dword [ebp - 0x1b8]
sub eax, 0x76a6e382
je 0x403b93
jmp 0x402d62
mov eax, dword [ebp - 0x1b8]
sub eax, 0x770f6ffe
je 0x403ce6
jmp 0x402d78
jmp 0x403d64
push eax
mov eax, esp
mov dword [ebp - 0x18c], eax
push eax
mov eax, esp
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x1b0], 0xcc4efef0
jmp 0x403d64
mov eax, dword [ebp - 0x1b4]
push eax
mov ecx, esp
mov dword [ebp - 0x184], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x180], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x17c], ecx
mov dword [ebp - 0x190], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x194], eax
lea eax, [ebp - 0x11c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.00407040
add esp, 0xc
mov eax, dword [ebp - 0x190]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x198], eax
mov eax, 0xc83f4695
mov ecx, 0x423539ca
cmp dword [ebp - 0x198], 0
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov eax, dword [0x41c39c]
mov ecx, dword [0x41c398]
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, 0xe0f6205b
mov ecx, 0xecffb59f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov eax, dword [0x41c39c]
mov ecx, dword [0x41c398]
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, 0xe0f6205b
mov ecx, 0xe7040814
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov dword [ebp - 0x1b0], 0xf73bbf5e
jmp 0x403d64
mov eax, dword [0x41c39c]
mov ecx, dword [0x41c398]
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, 0x65d45ff6
mov ecx, 0x2c964bfc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov ecx, dword [ebp - 0x198]
mov edx, dword [ebp - 0x194]
lea eax, [ebp - 0x11c]
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 - 0x11c]
mov dword [ebp - 0x19c], eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x174], eax
mov eax, dword [0x41c39c]
mov ecx, dword [0x41c398]
mov edx, eax
sub edx, 0x58a6d4ad
sub edx, 1
add edx, 0x58a6d4ad
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, 0x65d45ff6
mov ecx, 0xebd5784c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov dword [ebp - 0x1b0], 0x7644dc59
jmp 0x403d64
mov eax, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x174]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x110]
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 - 0x170], eax
mov dword [ebp - 0x1b0], 0x394c45b9
jmp 0x403d64
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x1a0], eax
mov edx, 0xffffffff
mov eax, 0x4dc61a2a
mov ecx, 0xdfcd360e
cmp dword [ebp - 0x1a0], edx
cmove eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov dword [ebp - 0x1b0], 0xf73bbf5e
jmp 0x403d64
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x1b0], 0xfef10bab
jmp 0x403d64
mov eax, dword [ebp - 0x16c]
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 - 0x1a4], eax
cmp dword [ebp - 0x1a4], 0
setne al
and al, 1
mov byte [ebp - 0x165], al
mov dword [ebp - 0x1b0], 0xc281dd43
jmp 0x403d64
mov dl, byte [ebp - 0x165]
mov eax, 0x2e765ad6
mov ecx, 0x40e8430c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x1b0], 0xc51dd697
jmp 0x403d64
mov ecx, dword [0x41c39c]
mov eax, dword [0x41c398]
mov edx, ecx
add edx, 0x16c5f73d
sub edx, 1
sub edx, 0x16c5f73d
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, 0xd174d07
mov ecx, 0x2bfb5016
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov eax, dword [ebp - 0x164]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x41c39c]
mov ecx, dword [0x41c398]
mov edx, eax
sub edx, 0x2b7db0fd
sub edx, 1
add edx, 0x2b7db0fd
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, 0xd174d07
mov ecx, 0xe61e03b5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov dword [ebp - 0x1b0], 0xbf813144
jmp 0x403d64
mov dword [ebp - 0x1b0], 0xf73bbf5e
jmp 0x403d64
mov eax, dword [ebp - 0x1a4]
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 dword [ebp - 0x160], eax
mov dword [ebp - 0x1b0], 0x48c97eff
jmp 0x403d64
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x1ac], eax
mov ecx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x1ac]
mov edx, dword [eax + 0x3c]
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 - 0x18c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x188]
mov word [eax], 0
mov dword [ebp - 0x1b0], 0x80826f11
jmp 0x403d64
mov eax, dword [0x41c39c]
mov ecx, dword [0x41c398]
mov edx, eax
add edx, 0x44214d0e
sub edx, 1
sub edx, 0x44214d0e
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, 0xba03ce65
mov ecx, 0xdb12d4c4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov eax, dword [0x41c39c]
mov ecx, dword [0x41c398]
mov edx, eax
add edx, 0x2bbc86c9
sub edx, 1
sub edx, 0x2bbc86c9
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, 0xba03ce65
mov ecx, 0xb47e2293
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov dword [ebp - 0x1b0], 0x132931c1
jmp 0x403d64
mov eax, dword [ebp - 0x188]
movzx eax, word [eax]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x1b0], 0x5e26134
jmp 0x403d64
mov ecx, dword [0x41c39c]
mov eax, dword [0x41c398]
mov edx, ecx
sub edx, 0xf46ad630
sub edx, 1
add edx, 0xf46ad630
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, 0x8b383180
mov ecx, 0xab61d64a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov eax, dword [ebp - 0x158]
movzx eax, word [eax + 2]
mov dword [ebp - 0x154], eax
mov ecx, dword [0x41c39c]
mov eax, dword [0x41c398]
mov edx, ecx
sub edx, 0x92a19901
sub edx, 1
add edx, 0x92a19901
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, 0x8b383180
mov ecx, 0xc631ed09
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov dword [ebp - 0x1b0], 0x435c94b1
jmp 0x403d64
mov ecx, dword [0x41c39c]
mov eax, dword [0x41c398]
mov edx, ecx
sub edx, 0x446682d7
sub edx, 1
add edx, 0x446682d7
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, 0x3ca10beb
mov ecx, 0xedf52cdc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x154]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x14d], al
mov eax, dword [0x41c39c]
mov ecx, dword [0x41c398]
mov edx, eax
add edx, 0xaf01a0dc
sub edx, 1
sub edx, 0xaf01a0dc
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, 0x3ca10beb
mov ecx, 0x6218f943
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov dl, byte [ebp - 0x14d]
mov eax, 0xca340ed5
mov ecx, 0xc86dc156
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax]
add eax, 0x2fc0d8a1
add eax, 0x18
sub eax, 0x2fc0d8a1
mov ecx, dword [ebp - 0x18c]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
add eax, 0x5680f153
add eax, ecx
sub eax, 0x5680f153
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x1b0], 0xcfb3c0c7
jmp 0x403d64
mov ecx, dword [0x41c39c]
mov eax, dword [0x41c398]
mov edx, ecx
sub edx, 0x353b0c26
sub edx, 1
add edx, 0x353b0c26
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, 0xe6468e15
mov ecx, 0xebffe89a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x148], eax
mov eax, dword [0x41c39c]
mov ecx, dword [0x41c398]
mov edx, eax
add edx, 0x80ebff4
sub edx, 1
sub edx, 0x80ebff4
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, 0xe6468e15
mov ecx, 0x354c2144
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov dword [ebp - 0x1b0], 0x61d05671
jmp 0x403d64
mov eax, dword [0x41c39c]
mov ecx, dword [0x41c398]
mov edx, eax
sub edx, 0xb51509b9
sub edx, 1
add edx, 0xb51509b9
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, 0x770f6ffe
mov ecx, 0xff3bc586
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov ecx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x188]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x184]
mov dword [eax], ecx
mov eax, dword [ebp - 0x184]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x4141a0
call fcn.004092d0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x141], al
mov ecx, dword [0x41c39c]
mov eax, dword [0x41c398]
mov edx, ecx
sub edx, 0x84d7a2f8
sub edx, 1
add edx, 0x84d7a2f8
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, 0x770f6ffe
mov ecx, 0x65714551
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov dl, byte [ebp - 0x141]
mov eax, 0x8b31243f
mov ecx, 0x347ec0e8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov eax, dword [ebp - 0x180]
mov dword [eax], 0
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x1b0], 0x9d33f7e
jmp 0x403d64
mov eax, dword [ebp - 0x138]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x13c]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x140]
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 - 0x17c]
mov byte [eax], cl
mov ecx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor edx, edx
sub edx, eax
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0xd381ce69
add ecx, eax
sub ecx, 0xd381ce69
mov eax, dword [ebp - 0x184]
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.004071a0
add esp, 0xc
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x1b0], 0xe39a3890
jmp 0x403d64
mov eax, dword [ebp - 0x128]
mov edx, dword [eax + 0xc]
mov ecx, dword [ebp - 0x12c]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor esi, esi
sub esi, eax
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x130]
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 - 0x17c]
mov byte [eax], cl
mov dword [ebp - 0x1b0], 0x347ec0e8
jmp 0x403d64
mov dword [ebp - 0x1b0], 0xce1bc09d
jmp 0x403d64
mov eax, dword [ebp - 0x188]
mov ax, word [eax]
mov word [ebp - 0x124], ax
mov dword [ebp - 0x1b0], 0xcc8d1455
jmp 0x403d64
mov ax, word [ebp - 0x124]
add ax, 0x1317
add ax, 1
sub ax, 0x1317
mov word [ebp - 0x122], ax
mov dword [ebp - 0x1b0], 0x58f2d68
jmp 0x403d64
mov eax, dword [0x41c39c]
mov ecx, dword [0x41c398]
mov edx, eax
add edx, 0x4bc81190
sub edx, 1
sub edx, 0x4bc81190
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, 0x166afc81
mov ecx, 0x196cb65f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov eax, dword [ebp - 0x188]
mov cx, word [ebp - 0x122]
mov word [eax], cx
mov eax, dword [0x41c39c]
mov ecx, dword [0x41c398]
mov edx, eax
sub edx, 0xb70d342f
sub edx, 1
add edx, 0xb70d342f
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, 0x166afc81
mov ecx, 0xa5354647
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov dword [ebp - 0x1b0], 0x132931c1
jmp 0x403d64
mov eax, dword [ebp - 0x1a0]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x1a4]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x1b0], 0x6709b64d
jmp 0x403d64
mov eax, dword [ebp - 0x120]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1b0], 0x9b123970
jmp 0x403d64
mov dword [ebp - 0x1b0], 0xf73bbf5e
jmp 0x403d64
mov eax, dword [0x41c39c]
mov ecx, dword [0x41c398]
mov edx, eax
sub edx, 0xd13cc8f6
sub edx, 1
add edx, 0xd13cc8f6
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, 0x6a5382be
mov ecx, 0x76a6e382
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov ecx, dword [0x41c39c]
mov eax, dword [0x41c398]
mov edx, ecx
add edx, 0x3aae766b
sub edx, 1
sub edx, 0x3aae766b
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, 0x6a5382be
mov ecx, 0xc8e42e95
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x403d64
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00406370
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x1b0], 0xecffb59f
jmp 0x403d64
mov ecx, dword [ebp - 0x198]
mov edx, dword [ebp - 0x194]
lea eax, [ebp - 0x11c]
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 - 0x11c]
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x1b0], 0x2c964bfc
jmp 0x403d64
mov eax, dword [ebp - 0x164]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1b0], 0x2bfb5016
jmp 0x403d64
mov dword [ebp - 0x1b0], 0xdb12d4c4
jmp 0x403d64
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x1b0], 0xab61d64a
jmp 0x403d64
mov eax, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x1b0], 0xedf52cdc
jmp 0x403d64
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x1b0], 0xebffe89a
jmp 0x403d64
mov ecx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x188]
movzx eax, word [eax]
imul edx, eax, 0x28
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 - 0x184]
mov dword [eax], ecx
mov eax, dword [ebp - 0x184]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x4141a0
call fcn.004092d0
add esp, 8
mov dword [ebp - 0x1b0], 0xff3bc586
jmp 0x403d64
mov eax, dword [ebp - 0x188]
mov cx, word [ebp - 0x122]
mov word [eax], cx
mov dword [ebp - 0x1b0], 0x196cb65f
jmp 0x403d64
mov dword [ebp - 0x1b0], 0x76a6e382
jmp 0x402808