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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x1a0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1a4], eax
mov eax, dword [0x43d080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1a0], 0x336744d
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x1a8], eax
sub eax, 0x82f9c20c
je 0x40d575
jmp 0x40c894
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8ad099be
je 0x40de11
jmp 0x40c8aa
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8cc71458
je 0x40ced4
jmp 0x40c8c0
mov eax, dword [ebp - 0x1a8]
sub eax, 0x91dabda3
je 0x40d910
jmp 0x40c8d6
mov eax, dword [ebp - 0x1a8]
sub eax, 0x9581c323
je 0x40d594
jmp 0x40c8ec
mov eax, dword [ebp - 0x1a8]
sub eax, 0x9d176c5a
je 0x40d295
jmp 0x40c902
mov eax, dword [ebp - 0x1a8]
sub eax, 0x9d1b4d5e
je 0x40d303
jmp 0x40c918
mov eax, dword [ebp - 0x1a8]
sub eax, 0xa69279b2
je 0x40d603
jmp 0x40c92e
mov eax, dword [ebp - 0x1a8]
sub eax, 0xa9cb969e
je 0x40d413
jmp 0x40c944
mov eax, dword [ebp - 0x1a8]
sub eax, 0xaa1fb5fd
je 0x40dd8d
jmp 0x40c95a
mov eax, dword [ebp - 0x1a8]
sub eax, 0xab7de19f
je 0x40d49a
jmp 0x40c970
mov eax, dword [ebp - 0x1a8]
sub eax, 0xacae811f
je 0x40d811
jmp 0x40c986
mov eax, dword [ebp - 0x1a8]
sub eax, 0xb20cb72e
je 0x40d091
jmp 0x40c99c
mov eax, dword [ebp - 0x1a8]
sub eax, 0xbbb3b1c8
je 0x40ce5c
jmp 0x40c9b2
mov eax, dword [ebp - 0x1a8]
sub eax, 0xbdd3edf1
je 0x40d508
jmp 0x40c9c8
mov eax, dword [ebp - 0x1a8]
sub eax, 0xc0d46304
je 0x40d39d
jmp 0x40c9de
mov eax, dword [ebp - 0x1a8]
sub eax, 0xc63cb5c7
je 0x40d35b
jmp 0x40c9f4
mov eax, dword [ebp - 0x1a8]
sub eax, 0xcbd30d51
je 0x40cec5
jmp 0x40ca0a
mov eax, dword [ebp - 0x1a8]
sub eax, 0xcd81f21e
je 0x40d901
jmp 0x40ca20
mov eax, dword [ebp - 0x1a8]
sub eax, 0xd8434360
je 0x40d7c8
jmp 0x40ca36
mov eax, dword [ebp - 0x1a8]
sub eax, 0xe1108710
je 0x40dbdf
jmp 0x40ca4c
mov eax, dword [ebp - 0x1a8]
sub eax, 0xe24f4792
je 0x40d312
jmp 0x40ca62
mov eax, dword [ebp - 0x1a8]
sub eax, 0xe3c05cf5
je 0x40da61
jmp 0x40ca78
mov eax, dword [ebp - 0x1a8]
sub eax, 0xe619d5dc
je 0x40daae
jmp 0x40ca8e
mov eax, dword [ebp - 0x1a8]
sub eax, 0xe63ed96e
je 0x40dd7e
jmp 0x40caa4
mov eax, dword [ebp - 0x1a8]
sub eax, 0xe98b7234
je 0x40d976
jmp 0x40caba
mov eax, dword [ebp - 0x1a8]
sub eax, 0xeb0c96c5
je 0x40dc73
jmp 0x40cad0
mov eax, dword [ebp - 0x1a8]
sub eax, 0xeb3068a9
je 0x40cf1c
jmp 0x40cae6
mov eax, dword [ebp - 0x1a8]
sub eax, 0xf073fb59
je 0x40de86
jmp 0x40cafc
mov eax, dword [ebp - 0x1a8]
sub eax, 0xf7d79bb3
je 0x40d15c
jmp 0x40cb12
mov eax, dword [ebp - 0x1a8]
sub eax, 0xf92ce9f4
je 0x40d6b5
jmp 0x40cb28
mov eax, dword [ebp - 0x1a8]
sub eax, 0xfa831901
je 0x40d566
jmp 0x40cb3e
mov eax, dword [ebp - 0x1a8]
sub eax, 0xfd4523c1
je 0x40dd5d
jmp 0x40cb54
mov eax, dword [ebp - 0x1a8]
sub eax, 0xfd87a300
je 0x40db24
jmp 0x40cb6a
mov eax, dword [ebp - 0x1a8]
sub eax, 0xff93c42f
je 0x40cfca
jmp 0x40cb80
mov eax, dword [ebp - 0x1a8]
sub eax, 0x6f3ba8
je 0x40da91
jmp 0x40cb96
mov eax, dword [ebp - 0x1a8]
sub eax, 0x7cd4fc
je 0x40d6c4
jmp 0x40cbac
mov eax, dword [ebp - 0x1a8]
sub eax, 0x1755065
je 0x40d0a0
jmp 0x40cbc2
mov eax, dword [ebp - 0x1a8]
sub eax, 0x336744d
je 0x40ce2f
jmp 0x40cbd8
mov eax, dword [ebp - 0x1a8]
sub eax, 0x70d0235
je 0x40dd3d
jmp 0x40cbee
mov eax, dword [ebp - 0x1a8]
sub eax, 0xfe61a88
je 0x40dca3
jmp 0x40cc04
mov eax, dword [ebp - 0x1a8]
sub eax, 0x10ccccae
je 0x40d9fb
jmp 0x40cc1a
mov eax, dword [ebp - 0x1a8]
sub eax, 0x1472c54f
je 0x40de20
jmp 0x40cc30
mov eax, dword [ebp - 0x1a8]
sub eax, 0x1ac896a3
je 0x40d985
jmp 0x40cc46
mov eax, dword [ebp - 0x1a8]
sub eax, 0x1d7432e9
je 0x40d01b
jmp 0x40cc5c
mov eax, dword [ebp - 0x1a8]
sub eax, 0x2b1d9175
je 0x40cf39
jmp 0x40cc72
mov eax, dword [ebp - 0x1a8]
sub eax, 0x2e5b6baf
je 0x40d48b
jmp 0x40cc88
mov eax, dword [ebp - 0x1a8]
sub eax, 0x3a77155e
je 0x40ded7
jmp 0x40cc9e
mov eax, dword [ebp - 0x1a8]
sub eax, 0x3ca10599
je 0x40db96
jmp 0x40ccb4
mov eax, dword [ebp - 0x1a8]
sub eax, 0x3ed40459
je 0x40db87
jmp 0x40ccca
mov eax, dword [ebp - 0x1a8]
sub eax, 0x4158403e
je 0x40dd4e
jmp 0x40cce0
mov eax, dword [ebp - 0x1a8]
sub eax, 0x43a50603
je 0x40dc82
jmp 0x40ccf6
mov eax, dword [ebp - 0x1a8]
sub eax, 0x47268ee7
je 0x40d235
jmp 0x40cd0c
mov eax, dword [ebp - 0x1a8]
sub eax, 0x474502f4
je 0x40da52
jmp 0x40cd22
mov eax, dword [ebp - 0x1a8]
sub eax, 0x498156d3
je 0x40d0fd
jmp 0x40cd38
mov eax, dword [ebp - 0x1a8]
sub eax, 0x4c24ce9d
je 0x40deb6
jmp 0x40cd4e
mov eax, dword [ebp - 0x1a8]
sub eax, 0x503bee63
je 0x40d72d
jmp 0x40cd64
mov eax, dword [ebp - 0x1a8]
sub eax, 0x586de2f1
je 0x40d6f4
jmp 0x40cd7a
mov eax, dword [ebp - 0x1a8]
sub eax, 0x58b08f8b
je 0x40d141
jmp 0x40cd90
mov eax, dword [ebp - 0x1a8]
sub eax, 0x58d8d59c
je 0x40de95
jmp 0x40cda6
mov eax, dword [ebp - 0x1a8]
sub eax, 0x5d5fd354
je 0x40dcec
jmp 0x40cdbc
mov eax, dword [ebp - 0x1a8]
sub eax, 0x62736666
je 0x40d120
jmp 0x40cdd2
mov eax, dword [ebp - 0x1a8]
sub eax, 0x7725ad08
je 0x40de2f
jmp 0x40cde8
mov eax, dword [ebp - 0x1a8]
sub eax, 0x77aab1fa
je 0x40d5ba
jmp 0x40cdfe
mov eax, dword [ebp - 0x1a8]
sub eax, 0x781c0b0c
je 0x40d244
mov eax, dword [ebp - 0x1a4]
push eax
mov ecx, esp
mov dword [ebp - 0x170], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x1a0], 0xbbb3b1c8
jmp 0x40dee1
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x178], 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.00427dd0
add esp, 0xc
mov eax, dword [ebp - 0x174]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x17c], eax
mov eax, 0xcbd30d51
mov ecx, 0x8cc71458
cmp dword [ebp - 0x17c], 0
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov dword [ebp - 0x1a0], 0xfe61a88
jmp 0x40dee1
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x178]
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
lea eax, [ebp - 0x11c]
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x1a0], 0xeb3068a9
jmp 0x40dee1
mov eax, dword [ebp - 0x168]
mov eax, dword [eax]
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x1a0], 0x2b1d9175
jmp 0x40dee1
lea eax, [ebp - 0x110]
mov ecx, dword [ebp - 0x17c]
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 - 0x184], eax
mov edx, 0xffffffff
mov eax, 0x1755065
mov ecx, 0xff93c42f
cmp dword [ebp - 0x184], edx
cmove eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov eax, dword [0x43e56c]
mov ecx, dword [0x43e568]
mov edx, eax
sub edx, 0x997a5854
sub edx, 1
add edx, 0x997a5854
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, 0x4158403e
mov ecx, 0x1d7432e9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov ecx, dword [0x43e56c]
mov eax, dword [0x43e568]
mov edx, ecx
add edx, 0x215c89d6
sub edx, 1
sub edx, 0x215c89d6
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, 0x4158403e
mov ecx, 0xb20cb72e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov dword [ebp - 0x1a0], 0xfe61a88
jmp 0x40dee1
mov eax, dword [ebp - 0x184]
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 - 0x188], eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x1a0], 0x498156d3
jmp 0x40dee1
mov eax, dword [ebp - 0x164]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x15d], al
mov dword [ebp - 0x1a0], 0x62736666
jmp 0x40dee1
mov dl, byte [ebp - 0x15d]
mov eax, 0x58b08f8b
mov ecx, 0xe24f4792
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x1a0], 0xf7d79bb3
jmp 0x40dee1
mov eax, dword [0x43e56c]
mov ecx, dword [0x43e568]
mov edx, eax
sub edx, 0x2db23c89
sub edx, 1
add edx, 0x2db23c89
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, 0xfd4523c1
mov ecx, 0x7fbb916c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov dword [ebp - 0x1a0], 0x781c0b0c
jmp 0x40dee1
mov ecx, dword [0x43e56c]
mov eax, dword [0x43e568]
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, 0xe63ed96e
mov ecx, 0x9d1b4d5e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov dword [ebp - 0x1a0], 0xfe61a88
jmp 0x40dee1
mov eax, dword [ebp - 0x188]
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 - 0x158], eax
mov dword [ebp - 0x1a0], 0xc63cb5c7
jmp 0x40dee1
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x190]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x1a0], 0xc0d46304
jmp 0x40dee1
mov ecx, dword [0x43e56c]
mov eax, dword [0x43e568]
mov edx, ecx
add edx, 0x9ef4495b
sub edx, 1
sub edx, 0x9ef4495b
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, 0xaa1fb5fd
mov ecx, 0xa9cb969e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x150]
add eax, 0xc2fba9b4
add eax, ecx
sub eax, 0xc2fba9b4
mov dword [ebp - 0x194], eax
mov word [ebp - 0x196], 0
mov eax, dword [0x43e56c]
mov ecx, dword [0x43e568]
mov edx, eax
sub edx, 0x3e3ab3d0
sub edx, 1
add edx, 0x3e3ab3d0
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, 0xaa1fb5fd
mov ecx, 0x2e5b6baf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov dword [ebp - 0x1a0], 0xab7de19f
jmp 0x40dee1
mov ecx, dword [0x43e56c]
mov eax, dword [0x43e568]
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, 0x8ad099be
mov ecx, 0xbdd3edf1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
movzx eax, word [ebp - 0x196]
mov dword [ebp - 0x14c], eax
mov eax, dword [0x43e56c]
mov ecx, dword [0x43e568]
mov edx, eax
sub edx, 0xae3a70e0
sub edx, 1
add edx, 0xae3a70e0
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, 0x8ad099be
mov ecx, 0xfa831901
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov dword [ebp - 0x1a0], 0x82f9c20c
jmp 0x40dee1
mov eax, dword [ebp - 0x194]
movzx eax, word [eax + 6]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x1a0], 0x9581c323
jmp 0x40dee1
mov edx, dword [ebp - 0x14c]
mov esi, dword [ebp - 0x148]
mov eax, 0xe619d5dc
mov ecx, 0x77aab1fa
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov eax, dword [0x43e56c]
mov ecx, dword [0x43e568]
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, 0x1472c54f
mov ecx, 0xa69279b2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov eax, dword [ebp - 0x194]
sub eax, 0xb1972626
add eax, 0x18
add eax, 0xb1972626
mov ecx, dword [ebp - 0x194]
movzx ecx, word [ecx + 0x14]
add eax, 0x58ac0a88
add eax, ecx
sub eax, 0x58ac0a88
mov dword [ebp - 0x144], eax
movzx eax, word [ebp - 0x196]
mov dword [ebp - 0x140], eax
mov ecx, dword [0x43e56c]
mov eax, dword [0x43e568]
mov edx, ecx
add edx, 0x8d10fc88
sub edx, 1
sub edx, 0x8d10fc88
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, 0x1472c54f
mov ecx, 0xf92ce9f4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov dword [ebp - 0x1a0], 0x7cd4fc
jmp 0x40dee1
mov eax, dword [ebp - 0x140]
imul ecx, eax, 0x28
mov eax, dword [ebp - 0x144]
sub eax, 0xadb3402f
add eax, ecx
add eax, 0xadb3402f
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x1a0], 0x586de2f1
jmp 0x40dee1
mov ecx, dword [ebp - 0x19c]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x436be8
call fcn.0042b6d0
add esp, 8
mov edx, eax
mov eax, 0x503bee63
mov ecx, 0xe98b7234
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov eax, dword [ebp - 0x170]
mov dword [eax], 0
mov eax, dword [ebp - 0x19c]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x19c]
mov eax, dword [eax + 0xc]
sub edx, 0x3053933b
add edx, eax
add edx, 0x3053933b
mov eax, dword [ebp - 0x170]
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 - 0x16c]
mov byte [eax], cl
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x19c]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x1a0], 0xd8434360
jmp 0x40dee1
mov eax, dword [0x43e56c]
mov ecx, dword [0x43e568]
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, 0x7725ad08
mov ecx, 0xacae811f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov ecx, dword [ebp - 0x138]
mov eax, dword [ebp - 0x19c]
mov eax, dword [eax + 0xc]
sub ecx, 0xd5799e56
add ecx, eax
add ecx, 0xd5799e56
mov eax, dword [ebp - 0x19c]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x13c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00427f30
add esp, 0xc
mov eax, dword [ebp - 0x170]
mov eax, dword [eax]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x19c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x19c]
add eax, 0xc
mov dword [ebp - 0x128], eax
mov ecx, dword [0x43e56c]
mov eax, dword [0x43e568]
mov edx, ecx
sub edx, 0x48e22ec
sub edx, 1
add edx, 0x48e22ec
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, 0x7725ad08
mov ecx, 0xcd81f21e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov dword [ebp - 0x1a0], 0x91dabda3
jmp 0x40dee1
mov eax, dword [ebp - 0x128]
mov edx, dword [eax]
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 - 0x170]
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 - 0x16c]
mov byte [eax], cl
mov dword [ebp - 0x1a0], 0xe98b7234
jmp 0x40dee1
mov dword [ebp - 0x1a0], 0x1ac896a3
jmp 0x40dee1
mov ecx, dword [0x43e56c]
mov eax, dword [0x43e568]
mov edx, ecx
sub edx, 0x783fa70c
sub edx, 1
add edx, 0x783fa70c
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, 0xf073fb59
mov ecx, 0x10ccccae
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov ax, word [ebp - 0x196]
mov word [ebp - 0x124], ax
mov eax, dword [0x43e56c]
mov ecx, dword [0x43e568]
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, 0xf073fb59
mov ecx, 0x474502f4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov dword [ebp - 0x1a0], 0xe3c05cf5
jmp 0x40dee1
mov ax, word [ebp - 0x124]
xor ecx, ecx
sub cx, ax
xor eax, eax
sub ax, 1
add cx, ax
xor eax, eax
sub ax, cx
mov word [ebp - 0x122], ax
mov dword [ebp - 0x1a0], 0x6f3ba8
jmp 0x40dee1
mov ax, word [ebp - 0x122]
mov word [ebp - 0x196], ax
mov dword [ebp - 0x1a0], 0xab7de19f
jmp 0x40dee1
mov ecx, dword [0x43e56c]
mov eax, dword [0x43e568]
mov edx, ecx
add edx, 0x5a998a93
sub edx, 1
sub edx, 0x5a998a93
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, 0x58d8d59c
mov ecx, 0xfd87a300
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov eax, dword [ebp - 0x184]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x43e56c]
mov ecx, dword [0x43e568]
mov edx, eax
add edx, 0xda9574e3
sub edx, 1
sub edx, 0xda9574e3
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, 0x58d8d59c
mov ecx, 0x3ed40459
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov dword [ebp - 0x1a0], 0x3ca10599
jmp 0x40dee1
mov eax, dword [0x43e56c]
mov ecx, dword [0x43e568]
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, 0x4c24ce9d
mov ecx, 0xe1108710
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov eax, dword [ebp - 0x188]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x120], eax
mov ecx, dword [0x43e56c]
mov eax, dword [0x43e568]
mov edx, ecx
add edx, 0xe50a9780
sub edx, 1
sub edx, 0xe50a9780
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, 0x4c24ce9d
mov ecx, 0xeb0c96c5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov dword [ebp - 0x1a0], 0x43a50603
jmp 0x40dee1
mov eax, dword [ebp - 0x120]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a0], 0xfe61a88
jmp 0x40dee1
mov eax, dword [0x43e56c]
mov ecx, dword [0x43e568]
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, 0x3a77155e
mov ecx, 0x5d5fd354
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov eax, dword [0x43e56c]
mov ecx, dword [0x43e568]
mov edx, eax
sub edx, 0xe5fe9e1f
sub edx, 1
add edx, 0xe5fe9e1f
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, 0x3a77155e
mov ecx, 0x70d0235
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dee1
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.004270e0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x1a0], 0x1d7432e9
jmp 0x40dee1
mov eax, dword [ebp - 0x15c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a0], 0x7fbb916c
jmp 0x40dee1
mov dword [ebp - 0x1a0], 0x9d176c5a
jmp 0x40dee1
mov eax, dword [ebp - 0x154]
mov eax, dword [ebp - 0x150]
mov eax, dword [ebp - 0x150]
mov eax, dword [ebp - 0x154]
mov eax, dword [ebp - 0x150]
mov eax, dword [ebp - 0x150]
mov eax, dword [ebp - 0x154]
mov eax, dword [ebp - 0x150]
mov eax, dword [ebp - 0x154]
mov eax, dword [ebp - 0x150]
mov eax, dword [ebp - 0x154]
mov eax, dword [ebp - 0x150]
mov eax, dword [ebp - 0x150]
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x150]
add eax, 0x6110dc4d
add eax, ecx
sub eax, 0x6110dc4d
mov dword [ebp - 0x194], eax
mov word [ebp - 0x196], 0
mov dword [ebp - 0x1a0], 0xa9cb969e
jmp 0x40dee1
mov dword [ebp - 0x1a0], 0xbdd3edf1
jmp 0x40dee1
mov dword [ebp - 0x1a0], 0xa69279b2
jmp 0x40dee1
mov ecx, dword [ebp - 0x138]
mov eax, dword [ebp - 0x19c]
mov eax, dword [eax + 0xc]
sub ecx, 0xa0fa7908
add ecx, eax
add ecx, 0xa0fa7908
mov eax, dword [ebp - 0x19c]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x13c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00427f30
add esp, 0xc
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x1a0], 0xacae811f
jmp 0x40dee1
mov dword [ebp - 0x1a0], 0x10ccccae
jmp 0x40dee1
mov eax, dword [ebp - 0x184]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a0], 0xfd87a300
jmp 0x40dee1
mov eax, dword [ebp - 0x188]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a0], 0xe1108710
jmp 0x40dee1
mov dword [ebp - 0x1a0], 0x5d5fd354
jmp 0x40c878