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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x98
mov eax, dword [ebp + 8]
mov dword [ebp - 0x9c], eax
mov eax, dword [0x439080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
mov edx, ecx
sub edx, 0x3d006f7d
sub edx, 1
add edx, 0x3d006f7d
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x92], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x91], al
mov dword [ebp - 0x98], 0x7145fbd2
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa0], eax
sub eax, 0x80ca8602
je 0x40776f
jmp 0x407053
mov eax, dword [ebp - 0xa0]
sub eax, 0x859a7e31
je 0x407bb6
jmp 0x407069
mov eax, dword [ebp - 0xa0]
sub eax, 0x8deffe51
je 0x40839a
jmp 0x40707f
mov eax, dword [ebp - 0xa0]
sub eax, 0x90805ab3
je 0x407fed
jmp 0x407095
mov eax, dword [ebp - 0xa0]
sub eax, 0x94d0951e
je 0x408410
jmp 0x4070ab
mov eax, dword [ebp - 0xa0]
sub eax, 0x973668f8
je 0x407f12
jmp 0x4070c1
mov eax, dword [ebp - 0xa0]
sub eax, 0x983c002e
je 0x4080b5
jmp 0x4070d7
mov eax, dword [ebp - 0xa0]
sub eax, 0x9a2d7748
je 0x408278
jmp 0x4070ed
mov eax, dword [ebp - 0xa0]
sub eax, 0x9f556df2
je 0x407cc7
jmp 0x407103
mov eax, dword [ebp - 0xa0]
sub eax, 0x9fc2b6b3
je 0x40858f
jmp 0x407119
mov eax, dword [ebp - 0xa0]
sub eax, 0xa99c77e8
je 0x407ad8
jmp 0x40712f
mov eax, dword [ebp - 0xa0]
sub eax, 0xaaf9a752
je 0x40838b
jmp 0x407145
mov eax, dword [ebp - 0xa0]
sub eax, 0xad524cde
je 0x40860e
jmp 0x40715b
mov eax, dword [ebp - 0xa0]
sub eax, 0xb1382057
je 0x407ef8
jmp 0x407171
mov eax, dword [ebp - 0xa0]
sub eax, 0xb2bba65b
je 0x407841
jmp 0x407187
mov eax, dword [ebp - 0xa0]
sub eax, 0xb75ee9b7
je 0x408872
jmp 0x40719d
mov eax, dword [ebp - 0xa0]
sub eax, 0xb98af47f
je 0x407ed1
jmp 0x4071b3
mov eax, dword [ebp - 0xa0]
sub eax, 0xbbc800b2
je 0x408519
jmp 0x4071c9
mov eax, dword [ebp - 0xa0]
sub eax, 0xc0c09d6a
je 0x407972
jmp 0x4071df
mov eax, dword [ebp - 0xa0]
sub eax, 0xc2046d4c
je 0x407c2c
jmp 0x4071f5
mov eax, dword [ebp - 0xa0]
sub eax, 0xc373f842
je 0x407da6
jmp 0x40720b
mov eax, dword [ebp - 0xa0]
sub eax, 0xc6d9ded5
je 0x407f88
jmp 0x407221
mov eax, dword [ebp - 0xa0]
sub eax, 0xc8c177f4
je 0x407981
jmp 0x407237
mov eax, dword [ebp - 0xa0]
sub eax, 0xceaa5f2e
je 0x408765
jmp 0x40724d
mov eax, dword [ebp - 0xa0]
sub eax, 0xcf74944c
je 0x4082c1
jmp 0x407263
mov eax, dword [ebp - 0xa0]
sub eax, 0xd38f02bc
je 0x408884
jmp 0x407279
mov eax, dword [ebp - 0xa0]
sub eax, 0xd430bcaa
je 0x4079ce
jmp 0x40728f
mov eax, dword [ebp - 0xa0]
sub eax, 0xd762b807
je 0x407950
jmp 0x4072a5
mov eax, dword [ebp - 0xa0]
sub eax, 0xe21b8cda
je 0x4086be
jmp 0x4072bb
mov eax, dword [ebp - 0xa0]
sub eax, 0xee8cf3a2
je 0x407aab
jmp 0x4072d1
mov eax, dword [ebp - 0xa0]
sub eax, 0xf12a8ae4
je 0x40800b
jmp 0x4072e7
mov eax, dword [ebp - 0xa0]
sub eax, 0xf2cd4f28
je 0x40804e
jmp 0x4072fd
mov eax, dword [ebp - 0xa0]
sub eax, 0xf648253e
je 0x407aba
jmp 0x407313
mov eax, dword [ebp - 0xa0]
sub eax, 0xf71bc1e8
je 0x4084b0
jmp 0x407329
mov eax, dword [ebp - 0xa0]
sub eax, 0x21a4bbe
je 0x407a44
jmp 0x40733f
mov eax, dword [ebp - 0xa0]
sub eax, 0x81e4dd0
je 0x407b29
jmp 0x407355
mov eax, dword [ebp - 0xa0]
sub eax, 0xa4a4402
je 0x40861d
jmp 0x40736b
mov eax, dword [ebp - 0xa0]
sub eax, 0xce8d9b5
je 0x4086dc
jmp 0x407381
mov eax, dword [ebp - 0xa0]
sub eax, 0xd9cc6b8
je 0x4085fd
jmp 0x407397
mov eax, dword [ebp - 0xa0]
sub eax, 0xe84d22b
je 0x4086ac
jmp 0x4073ad
mov eax, dword [ebp - 0xa0]
sub eax, 0x108b6c57
je 0x407ca9
jmp 0x4073c3
mov eax, dword [ebp - 0xa0]
sub eax, 0x15643b7b
je 0x407892
jmp 0x4073d9
mov eax, dword [ebp - 0xa0]
sub eax, 0x1797e534
je 0x407ba7
jmp 0x4073ef
mov eax, dword [ebp - 0xa0]
sub eax, 0x186dbf46
je 0x4077e3
jmp 0x407405
mov eax, dword [ebp - 0xa0]
sub eax, 0x1ee8cecb
je 0x4084c7
jmp 0x40741b
mov eax, dword [ebp - 0xa0]
sub eax, 0x1f2fea6f
je 0x40837c
jmp 0x407431
mov eax, dword [ebp - 0xa0]
sub eax, 0x268a33ce
je 0x40807d
jmp 0x407447
mov eax, dword [ebp - 0xa0]
sub eax, 0x2af5caaa
je 0x408692
jmp 0x40745d
mov eax, dword [ebp - 0xa0]
sub eax, 0x2c5d2c50
je 0x4077d4
jmp 0x407473
mov eax, dword [ebp - 0xa0]
sub eax, 0x35d28f48
je 0x408269
jmp 0x407489
mov eax, dword [ebp - 0xa0]
sub eax, 0x367bf9ee
je 0x4076e3
jmp 0x40749f
mov eax, dword [ebp - 0xa0]
sub eax, 0x3997ed37
je 0x407e45
jmp 0x4074b5
mov eax, dword [ebp - 0xa0]
sub eax, 0x411e0695
je 0x40871e
jmp 0x4074cb
mov eax, dword [ebp - 0xa0]
sub eax, 0x4a180530
je 0x407d97
jmp 0x4074e1
mov eax, dword [ebp - 0xa0]
sub eax, 0x4d142062
je 0x4076f2
jmp 0x4074f7
mov eax, dword [ebp - 0xa0]
sub eax, 0x4d6963d0
je 0x40877a
jmp 0x40750d
mov eax, dword [ebp - 0xa0]
sub eax, 0x4ef2f72e
je 0x4084f6
jmp 0x407523
mov eax, dword [ebp - 0xa0]
sub eax, 0x521a3535
je 0x408164
jmp 0x407539
mov eax, dword [ebp - 0xa0]
sub eax, 0x6030884d
je 0x40846b
jmp 0x40754f
mov eax, dword [ebp - 0xa0]
sub eax, 0x645b300a
je 0x4080ee
jmp 0x407565
mov eax, dword [ebp - 0xa0]
sub eax, 0x646e69f2
je 0x407dcf
jmp 0x40757b
mov eax, dword [ebp - 0xa0]
sub eax, 0x64eb549d
je 0x407941
jmp 0x407591
mov eax, dword [ebp - 0xa0]
sub eax, 0x655884c3
je 0x407675
jmp 0x4075a7
mov eax, dword [ebp - 0xa0]
sub eax, 0x66d728bc
je 0x40847a
jmp 0x4075bd
mov eax, dword [ebp - 0xa0]
sub eax, 0x6f0afcd5
je 0x407ee0
push eax
mov eax, esp
mov dword [ebp - 0x90], eax
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x88], eax
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
mov edx, eax
sub edx, 0x88849da4
sub edx, 1
add edx, 0x88849da4
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, 0xad524cde
mov ecx, 0x367bf9ee
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov dword [ebp - 0x98], 0x4d142062
jmp 0x40888e
mov ecx, dword [ebp - 0x9c]
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
push eax
mov eax, esp
mov dword [ebp - 0x80], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x7c], eax
push eax
mov eax, esp
mov dword [ebp - 0x78], eax
push eax
mov eax, esp
mov dword [ebp - 0x74], eax
push eax
mov eax, esp
mov dword [ebp - 0x70], eax
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
push eax
mov eax, esp
mov dword [ebp - 0x68], eax
push eax
mov eax, esp
mov dword [ebp - 0x64], eax
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
push eax
mov eax, esp
mov dword [ebp - 0x5c], eax
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
mov dword [ebp - 0x98], 0x80ca8602
jmp 0x40888e
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.00422d80
add esp, 0xc
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
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, 0x2c5d2c50
mov ecx, 0x186dbf46
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov dword [ebp - 0x98], 0xbbc800b2
jmp 0x40888e
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 [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x98], 0xb2bba65b
jmp 0x40888e
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
mov edx, eax
sub edx, 0xa5c9925a
sub edx, 1
add edx, 0xa5c9925a
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, 0xa4a4402
mov ecx, 0x15643b7b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
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]
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 eax, dword [0x43a564]
mov ecx, dword [0x43a560]
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, 0xa4a4402
mov ecx, 0x64eb549d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov dword [ebp - 0x98], 0xd762b807
jmp 0x40888e
mov edx, dword [ebp - 0x78]
mov esi, 0xffffffff
mov eax, 0xc8c177f4
mov ecx, 0xc0c09d6a
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov dword [ebp - 0x98], 0xbbc800b2
jmp 0x40888e
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
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 - 0x4c], eax
mov dword [ebp - 0x98], 0xd430bcaa
jmp 0x40888e
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
mov edx, ecx
add edx, 0xb695e022
sub edx, 1
sub edx, 0xb695e022
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, 0x2af5caaa
mov ecx, 0x21a4bbe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x45], al
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
mov edx, eax
add edx, 0xf37c301c
sub edx, 1
sub edx, 0xf37c301c
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, 0x2af5caaa
mov ecx, 0xee8cf3a2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov dword [ebp - 0x98], 0xf648253e
jmp 0x40888e
mov dl, byte [ebp - 0x45]
mov eax, 0xa99c77e8
mov ecx, 0x9f556df2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
mov edx, eax
sub edx, 0x403361a1
sub edx, 1
add edx, 0x403361a1
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, 0xe84d22b
mov ecx, 0x81e4dd0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
mov edx, ecx
sub edx, 0x3db14e23
sub edx, 1
add edx, 0x3db14e23
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, 0xe84d22b
mov ecx, 0x1797e534
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov dword [ebp - 0x98], 0x859a7e31
jmp 0x40888e
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
mov edx, ecx
sub edx, 0x1faed099
sub edx, 1
add edx, 0x1faed099
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, 0xe21b8cda
mov ecx, 0xc2046d4c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
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, 0xe21b8cda
mov ecx, 0x108b6c57
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov dword [ebp - 0x98], 0x7872b67d
jmp 0x40888e
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
mov edx, eax
add edx, 0x4c04605d
sub edx, 1
sub edx, 0x4c04605d
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, 0xce8d9b5
mov ecx, 0x7a0652ee
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov dword [ebp - 0x98], 0xc373f842
jmp 0x40888e
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x98], 0x646e69f2
jmp 0x40888e
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
mov edx, ecx
add edx, 0xdd320893
sub edx, 1
sub edx, 0xdd320893
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, 0x411e0695
mov ecx, 0x3997ed37
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x3c]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov word [eax], 0
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
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, 0x411e0695
mov ecx, 0xb98af47f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov dword [ebp - 0x98], 0x6f0afcd5
jmp 0x40888e
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x98], 0x973668f8
jmp 0x40888e
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
mov edx, ecx
sub edx, 0x6b9d26e7
sub edx, 1
add edx, 0x6b9d26e7
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, 0xceaa5f2e
mov ecx, 0xc6d9ded5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov eax, dword [ebp - 0x34]
movzx ecx, word [eax + 2]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x2d], al
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
mov edx, eax
add edx, 0x78acfdc9
sub edx, 1
sub edx, 0x78acfdc9
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, 0xceaa5f2e
mov ecx, 0x90805ab3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov dl, byte [ebp - 0x2d]
mov eax, 0xf71bc1e8
mov ecx, 0xf12a8ae4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
sub eax, 0xe85a08d7
add eax, 0x18
add eax, 0xe85a08d7
mov ecx, dword [ebp - 0x68]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
sub eax, 0xae72bbcb
add eax, ecx
add eax, 0xae72bbcb
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x64]
mov ax, word [eax]
mov word [ebp - 0x26], ax
mov dword [ebp - 0x98], 0xf2cd4f28
jmp 0x40888e
mov ax, word [ebp - 0x26]
movzx eax, ax
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x2c]
sub ecx, 0x7fe26d8f
add ecx, eax
add ecx, 0x7fe26d8f
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov dword [ebp - 0x98], 0x268a33ce
jmp 0x40888e
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x431e6f
call fcn.00426680
add esp, 8
mov edx, eax
mov eax, 0x983c002e
mov ecx, 0xaaf9a752
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
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 ecx, dword [ebp - 0x60]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x98], 0x645b300a
jmp 0x40888e
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
mov edx, ecx
add edx, 0x241de3d0
sub edx, 1
sub edx, 0x241de3d0
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, 0x4d6963d0
mov ecx, 0x521a3535
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov edx, dword [ebp - 0x20]
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 edx, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
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 eax, dword [eax + 0xc]
add ecx, 0xfaf88e1b
add ecx, eax
sub ecx, 0xfaf88e1b
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.00422ee0
add esp, 0xc
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
mov edx, ecx
sub edx, 0x6ce43c5f
sub edx, 1
add edx, 0x6ce43c5f
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, 0x4d6963d0
mov ecx, 0x35d28f48
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov dword [ebp - 0x98], 0x9a2d7748
jmp 0x40888e
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
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, 0x72fb3603
mov ecx, 0xcf74944c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov eax, dword [ebp - 0x18]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov esi, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0x42731560
add esi, eax
add esi, 0x42731560
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x1c]
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 ecx, dword [0x43a564]
mov eax, dword [0x43a560]
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, 0x72fb3603
mov ecx, 0x1f2fea6f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov dword [ebp - 0x98], 0xaaf9a752
jmp 0x40888e
mov dword [ebp - 0x98], 0x8deffe51
jmp 0x40888e
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
mov edx, ecx
add edx, 0x3441c717
sub edx, 1
sub edx, 0x3441c717
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, 0xb75ee9b7
mov ecx, 0x94d0951e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov eax, dword [ebp - 0x64]
mov ax, word [eax]
mov word [ebp - 0x12], ax
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
mov edx, eax
add edx, 0x99cc692
sub edx, 1
sub edx, 0x99cc692
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, 0xb75ee9b7
mov ecx, 0x6030884d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov dword [ebp - 0x98], 0x66d728bc
jmp 0x40888e
mov cx, word [ebp - 0x12]
sub cx, 0x8bcb
add cx, 1
add cx, 0x8bcb
mov eax, dword [ebp - 0x64]
mov word [eax], cx
mov dword [ebp - 0x98], 0x759b3799
jmp 0x40888e
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x98], 0x1ee8cecb
jmp 0x40888e
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0x4ef2f72e
jmp 0x40888e
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 - 0x98], 0xbbc800b2
jmp 0x40888e
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
mov edx, ecx
sub edx, 0x29296568
sub edx, 1
add edx, 0x29296568
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, 0xd38f02bc
mov ecx, 0x9fc2b6b3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
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, 0xd38f02bc
mov ecx, 0xd9cc6b8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x40888e
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00422090
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x98], 0x655884c3
jmp 0x40888e
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
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]
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 dword [ebp - 0x98], 0x15643b7b
jmp 0x40888e
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x98], 0x21a4bbe
jmp 0x40888e
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x98], 0x81e4dd0
jmp 0x40888e
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0xc2046d4c
jmp 0x40888e
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 dword [ebp - 0x98], 0x7a0652ee
jmp 0x40888e
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 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 - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov word [eax], 0
mov dword [ebp - 0x98], 0x3997ed37
jmp 0x40888e
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x98], 0xc6d9ded5
jmp 0x40888e
mov edx, dword [ebp - 0x20]
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 edx, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0x98788ce1
add edx, eax
sub edx, 0x98788ce1
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0x48e39373
add ecx, eax
sub ecx, 0x48e39373
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.00422ee0
add esp, 0xc
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x98], 0x521a3535
jmp 0x40888e
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x98], 0x94d0951e
jmp 0x40888e
mov dword [ebp - 0x98], 0x9fc2b6b3
jmp 0x407037