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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x1ac
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1b0], eax
mov eax, dword [0x439080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1ac], 0xd797a26b
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b4], eax
sub eax, 0x80332723
je 0x407808
jmp 0x406754
mov eax, dword [ebp - 0x1b4]
sub eax, 0x8751497f
je 0x4081ed
jmp 0x40676a
mov eax, dword [ebp - 0x1b4]
sub eax, 0x8a4f967c
je 0x406fed
jmp 0x406780
mov eax, dword [ebp - 0x1b4]
sub eax, 0x8c1eec98
je 0x407096
jmp 0x406796
mov eax, dword [ebp - 0x1b4]
sub eax, 0x8ce853a4
je 0x407940
jmp 0x4067ac
mov eax, dword [ebp - 0x1b4]
sub eax, 0x8e761360
je 0x408484
jmp 0x4067c2
mov eax, dword [ebp - 0x1b4]
sub eax, 0x8ff47237
je 0x40715d
jmp 0x4067d8
mov eax, dword [ebp - 0x1b4]
sub eax, 0x9154b31d
je 0x407859
jmp 0x4067ee
mov eax, dword [ebp - 0x1b4]
sub eax, 0x92dddeaf
je 0x407ac5
jmp 0x406804
mov eax, dword [ebp - 0x1b4]
sub eax, 0x9382dbb1
je 0x406f8d
jmp 0x40681a
mov eax, dword [ebp - 0x1b4]
sub eax, 0x960ecb54
je 0x407c6c
jmp 0x406830
mov eax, dword [ebp - 0x1b4]
sub eax, 0x98cd6163
je 0x40751a
jmp 0x406846
mov eax, dword [ebp - 0x1b4]
sub eax, 0x9c6849ff
je 0x4075b6
jmp 0x40685c
mov eax, dword [ebp - 0x1b4]
sub eax, 0x9d5ed0e3
je 0x407ffe
jmp 0x406872
mov eax, dword [ebp - 0x1b4]
sub eax, 0xa26d5b18
je 0x407c21
jmp 0x406888
mov eax, dword [ebp - 0x1b4]
sub eax, 0xb4ead7ff
je 0x4083d4
jmp 0x40689e
mov eax, dword [ebp - 0x1b4]
sub eax, 0xbc0c879c
je 0x4071a8
jmp 0x4068b4
mov eax, dword [ebp - 0x1b4]
sub eax, 0xbd8684b6
je 0x407361
jmp 0x4068ca
mov eax, dword [ebp - 0x1b4]
sub eax, 0xc2abea44
je 0x407577
jmp 0x4068e0
mov eax, dword [ebp - 0x1b4]
sub eax, 0xc4417dd8
je 0x40817f
jmp 0x4068f6
mov eax, dword [ebp - 0x1b4]
sub eax, 0xc849706d
je 0x40866d
jmp 0x40690c
mov eax, dword [ebp - 0x1b4]
sub eax, 0xcccf96d2
je 0x407aa4
jmp 0x406922
mov eax, dword [ebp - 0x1b4]
sub eax, 0xce77aa38
je 0x40716c
jmp 0x406938
mov eax, dword [ebp - 0x1b4]
sub eax, 0xd3d329d1
je 0x407eda
jmp 0x40694e
mov eax, dword [ebp - 0x1b4]
sub eax, 0xd6526f67
je 0x4078ca
jmp 0x406964
mov eax, dword [ebp - 0x1b4]
sub eax, 0xd797a26b
je 0x406e39
jmp 0x40697a
mov eax, dword [ebp - 0x1b4]
sub eax, 0xdaeea228
je 0x4070e7
jmp 0x406990
mov eax, dword [ebp - 0x1b4]
sub eax, 0xe0bee55a
je 0x406f9c
jmp 0x4069a6
mov eax, dword [ebp - 0x1b4]
sub eax, 0xe143ca2f
je 0x40762c
jmp 0x4069bc
mov eax, dword [ebp - 0x1b4]
sub eax, 0xe213edab
je 0x40845c
jmp 0x4069d2
mov eax, dword [ebp - 0x1b4]
sub eax, 0xe60d7e37
je 0x4082f7
jmp 0x4069e8
mov eax, dword [ebp - 0x1b4]
sub eax, 0xe64457ed
je 0x408274
jmp 0x4069fe
mov eax, dword [ebp - 0x1b4]
sub eax, 0xe678a168
je 0x4076ed
jmp 0x406a14
mov eax, dword [ebp - 0x1b4]
sub eax, 0xe87a48b8
je 0x406ea7
jmp 0x406a2a
mov eax, dword [ebp - 0x1b4]
sub eax, 0xe8fe17be
je 0x4083c5
jmp 0x406a40
mov eax, dword [ebp - 0x1b4]
sub eax, 0xe9014f69
je 0x407586
jmp 0x406a56
mov eax, dword [ebp - 0x1b4]
sub eax, 0xee21240e
je 0x4073aa
jmp 0x406a6c
mov eax, dword [ebp - 0x1b4]
sub eax, 0xee315b49
je 0x407316
jmp 0x406a82
mov eax, dword [ebp - 0x1b4]
sub eax, 0xf81fb7ad
je 0x408101
jmp 0x406a98
mov eax, dword [ebp - 0x1b4]
sub eax, 0xf8447b7a
je 0x408435
jmp 0x406aae
mov eax, dword [ebp - 0x1b4]
sub eax, 0xfb0eff6a
je 0x408626
jmp 0x406ac4
mov eax, dword [ebp - 0x1b4]
sub eax, 0x428092f
je 0x4076de
jmp 0x406ada
mov eax, dword [ebp - 0x1b4]
sub eax, 0x5b263e8
je 0x407b3b
jmp 0x406af0
mov eax, dword [ebp - 0x1b4]
sub eax, 0x92e305f
je 0x40814f
jmp 0x406b06
mov eax, dword [ebp - 0x1b4]
sub eax, 0x934f45d
je 0x407f6f
jmp 0x406b1c
mov eax, dword [ebp - 0x1b4]
sub eax, 0x9c56653
je 0x408617
jmp 0x406b32
mov eax, dword [ebp - 0x1b4]
sub eax, 0x14e133ff
je 0x4078f6
jmp 0x406b48
mov eax, dword [ebp - 0x1b4]
sub eax, 0x169cfa98
je 0x407e04
jmp 0x406b5e
mov eax, dword [ebp - 0x1b4]
sub eax, 0x17c71853
je 0x407763
jmp 0x406b74
mov eax, dword [ebp - 0x1b4]
sub eax, 0x1b508b08
je 0x40799c
jmp 0x406b8a
mov eax, dword [ebp - 0x1b4]
sub eax, 0x1d1bdfd0
je 0x407224
jmp 0x406ba0
mov eax, dword [ebp - 0x1b4]
sub eax, 0x22d3c2de
je 0x4082d9
jmp 0x406bb6
mov eax, dword [ebp - 0x1b4]
sub eax, 0x2445e934
je 0x407483
jmp 0x406bcc
mov eax, dword [ebp - 0x1b4]
sub eax, 0x2c21b2e4
je 0x40868c
jmp 0x406be2
mov eax, dword [ebp - 0x1b4]
sub eax, 0x2cc3129f
je 0x408535
jmp 0x406bf8
mov eax, dword [ebp - 0x1b4]
sub eax, 0x2f5363a1
je 0x407a12
jmp 0x406c0e
mov eax, dword [ebp - 0x1b4]
sub eax, 0x347aae63
je 0x407c12
jmp 0x406c24
mov eax, dword [ebp - 0x1b4]
sub eax, 0x3e02f5bf
je 0x407346
jmp 0x406c3a
mov eax, dword [ebp - 0x1b4]
sub eax, 0x3fc41264
je 0x4084bf
jmp 0x406c50
mov eax, dword [ebp - 0x1b4]
sub eax, 0x48f5ebd2
je 0x408083
jmp 0x406c66
mov eax, dword [ebp - 0x1b4]
sub eax, 0x4a6a0dbc
je 0x408263
jmp 0x406c7c
mov eax, dword [ebp - 0x1b4]
sub eax, 0x4f0887a2
je 0x407474
jmp 0x406c92
mov eax, dword [ebp - 0x1b4]
sub eax, 0x5394e059
je 0x4078bb
jmp 0x406ca8
mov eax, dword [ebp - 0x1b4]
sub eax, 0x5501d19e
je 0x407075
jmp 0x406cbe
mov eax, dword [ebp - 0x1b4]
sub eax, 0x57aacb80
je 0x408374
mov ecx, dword [0x43a57c]
mov eax, dword [0x43a578]
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, 0xe64457ed
mov ecx, 0xe87a48b8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov eax, dword [ebp - 0x1b0]
push eax
mov ecx, esp
mov dword [ebp - 0x190], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x18c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x188], ecx
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
push eax
mov ecx, esp
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x194], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x198], 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.00422d50
add esp, 0xc
mov eax, dword [ebp - 0x194]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x19c], eax
mov eax, dword [0x43a57c]
mov ecx, dword [0x43a578]
mov edx, eax
sub edx, 0x97eb1f92
sub edx, 1
add edx, 0x97eb1f92
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, 0xe64457ed
mov ecx, 0x9382dbb1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov dword [ebp - 0x1ac], 0xe0bee55a
jmp 0x408696
mov eax, dword [0x43a57c]
mov ecx, dword [0x43a578]
mov edx, eax
add edx, 0xd5b15791
sub edx, 1
sub edx, 0xd5b15791
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, 0x22d3c2de
mov ecx, 0x8a4f967c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
cmp dword [ebp - 0x19c], 0
setne al
and al, 1
mov byte [ebp - 0x171], al
mov ecx, dword [0x43a57c]
mov eax, dword [0x43a578]
mov edx, ecx
sub edx, 0x6daba40d
sub edx, 1
add edx, 0x6daba40d
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, 0x22d3c2de
mov ecx, 0x5501d19e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov dl, byte [ebp - 0x171]
mov eax, 0x8c1eec98
mov ecx, 0xce77aa38
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov eax, dword [0x43a57c]
mov ecx, dword [0x43a578]
mov edx, eax
sub edx, 0xcf06220a
sub edx, 1
add edx, 0xcf06220a
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, 0x6124e73d
mov ecx, 0xdaeea228
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov ecx, dword [0x43a57c]
mov eax, dword [0x43a578]
mov edx, ecx
add edx, 0x83a96152
sub edx, 1
sub edx, 0x83a96152
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, 0x6124e73d
mov ecx, 0x8ff47237
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov dword [ebp - 0x1ac], 0xc4417dd8
jmp 0x408696
mov ecx, dword [ebp - 0x19c]
mov edx, dword [ebp - 0x198]
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 dword [ebp - 0x1ac], 0xbc0c879c
jmp 0x408696
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x1ac], 0x6aa6b70a
jmp 0x408696
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
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 - 0x1a4], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x1a4], eax
sete al
and al, 1
mov byte [ebp - 0x165], al
mov ecx, dword [0x43a57c]
mov eax, dword [0x43a578]
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, 0xe60d7e37
mov ecx, 0xee315b49
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov dl, byte [ebp - 0x165]
mov eax, 0x3e02f5bf
mov ecx, 0x6426d68f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x1ac], 0xbd8684b6
jmp 0x408696
mov eax, dword [0x43a57c]
mov ecx, dword [0x43a578]
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, 0x57aacb80
mov ecx, 0xee21240e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov eax, dword [ebp - 0x164]
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 - 0x1a8], eax
cmp dword [ebp - 0x1a8], 0
setne al
and al, 1
mov byte [ebp - 0x15d], al
mov ecx, dword [0x43a57c]
mov eax, dword [0x43a578]
mov edx, ecx
sub edx, 0x9a52b42a
sub edx, 1
add edx, 0x9a52b42a
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, 0x57aacb80
mov ecx, 0x4f0887a2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov dword [ebp - 0x1ac], 0x2445e934
jmp 0x408696
mov dl, byte [ebp - 0x15d]
mov eax, 0x5cb33a78
mov ecx, 0x9c6849ff
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x15c], eax
mov eax, dword [0x43a57c]
mov ecx, dword [0x43a578]
mov edx, eax
add edx, 0x8c69a46c
sub edx, 1
sub edx, 0x8c69a46c
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, 0xe8fe17be
mov ecx, 0xc2abea44
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov dword [ebp - 0x1ac], 0xe9014f69
jmp 0x408696
mov eax, dword [ebp - 0x15c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1ac], 0x66b3c741
jmp 0x408696
mov ecx, dword [0x43a57c]
mov eax, dword [0x43a578]
mov edx, ecx
sub edx, 0x85641640
sub edx, 1
add edx, 0x85641640
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, 0xb4ead7ff
mov ecx, 0xe143ca2f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov eax, dword [ebp - 0x1a8]
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 - 0x190]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x18c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x154], eax
mov eax, dword [0x43a57c]
mov ecx, dword [0x43a578]
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, 0xb4ead7ff
mov ecx, 0x428092f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov dword [ebp - 0x1ac], 0xe678a168
jmp 0x408696
mov ecx, dword [0x43a57c]
mov eax, dword [0x43a578]
mov edx, ecx
sub edx, 0xc4420110
sub edx, 1
add edx, 0xc4420110
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, 0xf8447b7a
mov ecx, 0x17c71853
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov eax, dword [ebp - 0x158]
mov edx, dword [ebp - 0x154]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x150], eax
mov ecx, dword [0x43a57c]
mov eax, dword [0x43a578]
mov edx, ecx
sub edx, 0x601ab7fa
sub edx, 1
add edx, 0x601ab7fa
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, 0xf8447b7a
mov ecx, 0x62ff2240
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov eax, dword [0x43a57c]
mov ecx, dword [0x43a578]
mov edx, eax
sub edx, 0x4623ce5
sub edx, 1
add edx, 0x4623ce5
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, 0xe213edab
mov ecx, 0x9154b31d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov ecx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x188]
mov dword [eax], ecx
mov eax, dword [ebp - 0x184]
mov word [eax], 0
mov eax, dword [0x43a57c]
mov ecx, dword [0x43a578]
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, 0xe213edab
mov ecx, 0x5394e059
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov dword [ebp - 0x1ac], 0xd6526f67
jmp 0x408696
mov eax, dword [ebp - 0x184]
movzx eax, word [eax]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x188]
mov eax, dword [eax]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x1ac], 0x14e133ff
jmp 0x408696
mov eax, dword [ebp - 0x148]
mov ax, word [eax + 6]
mov word [ebp - 0x142], ax
mov dword [ebp - 0x1ac], 0x6b8ec5d9
jmp 0x408696
mov eax, dword [ebp - 0x188]
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 - 0x188]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
sub eax, 0x44753b1a
add eax, ecx
add eax, 0x44753b1a
mov ecx, dword [ebp - 0x184]
movzx ecx, word [ecx]
imul ecx, ecx, 0x28
add eax, 0x8680f1cf
add eax, ecx
sub eax, 0x8680f1cf
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x1ac], 0x1b508b08
jmp 0x408696
mov ecx, dword [0x43a57c]
mov eax, dword [0x43a578]
mov edx, ecx
sub edx, 0x966e7fa9
sub edx, 1
add edx, 0x966e7fa9
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, 0x8e761360
mov ecx, 0x2f5363a1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x140]
mov dword [eax], ecx
mov eax, dword [ebp - 0x180]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x431e6f
call fcn.00426650
add esp, 8
mov dword [ebp - 0x13c], eax
mov eax, dword [0x43a57c]
mov ecx, dword [0x43a578]
mov edx, eax
sub edx, 0xdd29d721
sub edx, 1
add edx, 0xdd29d721
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, 0x8e761360
mov ecx, 0x6ab59afc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov edx, dword [ebp - 0x13c]
mov eax, 0x92dddeaf
mov ecx, 0x169cfa98
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov ecx, dword [0x43a57c]
mov eax, dword [0x43a578]
mov edx, ecx
add edx, 0xac4401eb
sub edx, 1
sub edx, 0xac4401eb
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, 0x3fc41264
mov ecx, 0x5b263e8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov eax, dword [ebp - 0x17c]
mov dword [eax], 0
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0xb8bec8b5
add edx, eax
add edx, 0xb8bec8b5
mov eax, dword [ebp - 0x17c]
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 - 0x178]
mov byte [eax], cl
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x134], eax
mov eax, dword [0x43a57c]
mov ecx, dword [0x43a578]
mov edx, eax
add edx, 0xb58b13a1
sub edx, 1
sub edx, 0xb58b13a1
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, 0x3fc41264
mov ecx, 0x347aae63
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov dword [ebp - 0x1ac], 0xa26d5b18
jmp 0x408696
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x138]
add eax, 0x6269a595
add eax, ecx
sub eax, 0x6269a595
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x190]
mov eax, dword [eax]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x1ac], 0x960ecb54
jmp 0x408696
mov ecx, dword [0x43a57c]
mov eax, dword [0x43a578]
mov edx, ecx
add edx, 0x11e29737
sub edx, 1
sub edx, 0x11e29737
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, 0x2cc3129f
mov ecx, 0x6033705e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov ecx, dword [0x43a57c]
mov eax, dword [0x43a578]
mov edx, ecx
sub edx, 0x20054732
sub edx, 1
add edx, 0x20054732
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, 0x9c56653
mov ecx, 0x6195d2a6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov eax, dword [ebp - 0x184]
mov ax, word [eax]
mov word [ebp - 0x124], ax
mov dword [ebp - 0x1ac], 0x6351f3b3
jmp 0x408696
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 ecx, dword [0x43a57c]
mov eax, dword [0x43a578]
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, 0xfb0eff6a
mov ecx, 0x9d5ed0e3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov dword [ebp - 0x1ac], 0x5fc755f7
jmp 0x408696
mov eax, dword [ebp - 0x184]
mov cx, word [ebp - 0x122]
mov word [eax], cx
mov ecx, dword [0x43a57c]
mov eax, dword [0x43a578]
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, 0xc849706d
mov ecx, 0xf81fb7ad
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov dword [ebp - 0x1ac], 0xd6526f67
jmp 0x408696
mov eax, dword [ebp - 0x120]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1ac], 0x6b4a2cf8
jmp 0x408696
mov ecx, dword [0x43a57c]
mov eax, dword [0x43a578]
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, 0x2c21b2e4
mov ecx, 0x8751497f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov ecx, dword [0x43a57c]
mov eax, dword [0x43a578]
mov edx, ecx
add edx, 0x57985bcf
sub edx, 1
sub edx, 0x57985bcf
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, 0x2c21b2e4
mov ecx, 0x4a6a0dbc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x408696
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00422060
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x194], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x198], 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.00422d50
add esp, 0xc
mov eax, dword [ebp - 0x194]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x1ac], 0xe87a48b8
jmp 0x408696
mov dword [ebp - 0x1ac], 0x8a4f967c
jmp 0x408696
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
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 - 0x1a4], eax
mov dword [ebp - 0x1ac], 0x1d1bdfd0
jmp 0x408696
mov dword [ebp - 0x1ac], 0x98cd6163
jmp 0x408696
mov eax, dword [ebp - 0x1a8]
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 - 0x190]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x18c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x1ac], 0xe143ca2f
jmp 0x408696
mov eax, dword [ebp - 0x158]
mov eax, dword [ebp - 0x154]
mov eax, dword [ebp - 0x158]
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x1ac], 0x17c71853
jmp 0x408696
mov ecx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x188]
mov dword [eax], ecx
mov eax, dword [ebp - 0x184]
mov word [eax], 0
mov dword [ebp - 0x1ac], 0x9154b31d
jmp 0x408696
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x140]
mov dword [eax], ecx
mov eax, dword [ebp - 0x180]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x431e6f
call fcn.00426650
add esp, 8
mov dword [ebp - 0x1ac], 0x2f5363a1
jmp 0x408696
mov eax, dword [ebp - 0x17c]
mov dword [eax], 0
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x17c]
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 - 0x178]
mov byte [eax], cl
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x1ac], 0x5b263e8
jmp 0x408696
mov eax, dword [ebp - 0x128]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x12c]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x130]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00422eb0
add esp, 0xc
mov eax, dword [ebp - 0x17c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0xda9163e2
add esi, eax
add esi, 0xda9163e2
mov eax, dword [ebp - 0x17c]
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 - 0x178]
mov byte [eax], cl
mov dword [ebp - 0x1ac], 0x6033705e
jmp 0x408696
mov dword [ebp - 0x1ac], 0x6195d2a6
jmp 0x408696
mov ax, word [ebp - 0x124]
mov ax, word [ebp - 0x124]
mov ax, word [ebp - 0x124]
mov ax, word [ebp - 0x124]
mov ax, word [ebp - 0x124]
mov ax, word [ebp - 0x124]
mov ax, word [ebp - 0x124]
mov ax, word [ebp - 0x124]
mov dword [ebp - 0x1ac], 0x934f45d
jmp 0x408696
mov eax, dword [ebp - 0x184]
mov cx, word [ebp - 0x122]
mov word [eax], cx
mov dword [ebp - 0x1ac], 0x48f5ebd2
jmp 0x408696
mov dword [ebp - 0x1ac], 0x8751497f
jmp 0x406738