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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xa8
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa4], eax
mov eax, dword [0x439080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x9a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x99], al
mov dword [ebp - 0xa0], 0x46290e31
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa8], eax
sub eax, 0x8110bdb4
je 0x4089f3
jmp 0x407ceb
mov eax, dword [ebp - 0xa8]
sub eax, 0x82d859b7
je 0x408f5c
jmp 0x407d01
mov eax, dword [ebp - 0xa8]
sub eax, 0x82e9b173
je 0x408c2c
jmp 0x407d17
mov eax, dword [ebp - 0xa8]
sub eax, 0x8a087b55
je 0x4083cd
jmp 0x407d2d
mov eax, dword [ebp - 0xa8]
sub eax, 0x8e258028
je 0x4089e4
jmp 0x407d43
mov eax, dword [ebp - 0xa8]
sub eax, 0x92099873
je 0x408911
jmp 0x407d59
mov eax, dword [ebp - 0xa8]
sub eax, 0x995c6c6c
je 0x409147
jmp 0x407d6f
mov eax, dword [ebp - 0xa8]
sub eax, 0x9cf5f776
je 0x408902
jmp 0x407d85
mov eax, dword [ebp - 0xa8]
sub eax, 0xa60e36d9
je 0x4083dc
jmp 0x407d9b
mov eax, dword [ebp - 0xa8]
sub eax, 0xa8c71639
je 0x408bc3
jmp 0x407db1
mov eax, dword [ebp - 0xa8]
sub eax, 0xae1749d6
je 0x408fa5
jmp 0x407dc7
mov eax, dword [ebp - 0xa8]
sub eax, 0xbba57f7a
je 0x4090cd
jmp 0x407ddd
mov eax, dword [ebp - 0xa8]
sub eax, 0xc2461f3a
je 0x4084c6
jmp 0x407df3
mov eax, dword [ebp - 0xa8]
sub eax, 0xc246c0c5
je 0x408247
jmp 0x407e09
mov eax, dword [ebp - 0xa8]
sub eax, 0xcfb86d7b
je 0x408d93
jmp 0x407e1f
mov eax, dword [ebp - 0xa8]
sub eax, 0xcfd156aa
je 0x408a69
jmp 0x407e35
mov eax, dword [ebp - 0xa8]
sub eax, 0xd045a96e
je 0x408f2d
jmp 0x407e4b
mov eax, dword [ebp - 0xa8]
sub eax, 0xd149919d
je 0x408c7d
jmp 0x407e61
mov eax, dword [ebp - 0xa8]
sub eax, 0xd4fc4863
je 0x40836c
jmp 0x407e77
mov eax, dword [ebp - 0xa8]
sub eax, 0xd7e941e8
je 0x40864b
jmp 0x407e8d
mov eax, dword [ebp - 0xa8]
sub eax, 0xd9c80b32
je 0x408669
jmp 0x407ea3
mov eax, dword [ebp - 0xa8]
sub eax, 0xdbb4bf3b
je 0x408f3c
jmp 0x407eb9
mov eax, dword [ebp - 0xa8]
sub eax, 0xdcb2d42e
je 0x40892a
jmp 0x407ecf
mov eax, dword [ebp - 0xa8]
sub eax, 0xe12122af
je 0x408d84
jmp 0x407ee5
mov eax, dword [ebp - 0xa8]
sub eax, 0xe55837ae
je 0x4085ee
jmp 0x407efb
mov eax, dword [ebp - 0xa8]
sub eax, 0xf11fe3b4
je 0x408e76
jmp 0x407f11
mov eax, dword [ebp - 0xa8]
sub eax, 0xf6c207f9
je 0x4090b5
jmp 0x407f27
mov eax, dword [ebp - 0xa8]
sub eax, 0xf77e51ff
je 0x40897b
jmp 0x407f3d
mov eax, dword [ebp - 0xa8]
sub eax, 0xf9b92c02
je 0x408f87
jmp 0x407f53
mov eax, dword [ebp - 0xa8]
sub eax, 0xfdef0261
je 0x408799
jmp 0x407f69
mov eax, dword [ebp - 0xa8]
sub eax, 0x1910112
je 0x408890
jmp 0x407f7f
mov eax, dword [ebp - 0xa8]
sub eax, 0x569714a
je 0x408e1a
jmp 0x407f95
mov eax, dword [ebp - 0xa8]
sub eax, 0xccf8ca4
je 0x4084a5
jmp 0x407fab
mov eax, dword [ebp - 0xa8]
sub eax, 0xce4ea26
je 0x408b3c
jmp 0x407fc1
mov eax, dword [ebp - 0xa8]
sub eax, 0x13a83aa5
je 0x4083a1
jmp 0x407fd7
mov eax, dword [ebp - 0xa8]
sub eax, 0x13d18d3e
je 0x408e5d
jmp 0x407fed
mov eax, dword [ebp - 0xa8]
sub eax, 0x1db29a3e
je 0x408aeb
jmp 0x408003
mov eax, dword [ebp - 0xa8]
sub eax, 0x2030183e
je 0x40876c
jmp 0x408019
mov eax, dword [ebp - 0xa8]
sub eax, 0x28398fac
je 0x408e29
jmp 0x40802f
mov eax, dword [ebp - 0xa8]
sub eax, 0x286277bf
je 0x408bec
jmp 0x408045
mov eax, dword [ebp - 0xa8]
sub eax, 0x2862dc40
je 0x408bb4
jmp 0x40805b
mov eax, dword [ebp - 0xa8]
sub eax, 0x2c835d4d
je 0x40901a
jmp 0x408071
mov eax, dword [ebp - 0xa8]
sub eax, 0x33f4c7c8
je 0x40903e
jmp 0x408087
mov eax, dword [ebp - 0xa8]
sub eax, 0x3a424d6b
je 0x4090a0
jmp 0x40809d
mov eax, dword [ebp - 0xa8]
sub eax, 0x441ccab7
je 0x4086df
jmp 0x4080b3
mov eax, dword [ebp - 0xa8]
sub eax, 0x46290e31
je 0x408218
jmp 0x4080c9
mov eax, dword [ebp - 0xa8]
sub eax, 0x47dd8afa
je 0x408569
jmp 0x4080df
mov eax, dword [ebp - 0xa8]
sub eax, 0x580bd381
je 0x408e38
jmp 0x4080f5
mov eax, dword [ebp - 0xa8]
sub eax, 0x5a8f168b
je 0x408802
jmp 0x40810b
mov eax, dword [ebp - 0xa8]
sub eax, 0x5c8b7a5f
je 0x40902c
jmp 0x408121
mov eax, dword [ebp - 0xa8]
sub eax, 0x610a8b4c
je 0x40875d
jmp 0x408137
mov eax, dword [ebp - 0xa8]
sub eax, 0x625efa43
je 0x40878a
jmp 0x40814d
mov eax, dword [ebp - 0xa8]
sub eax, 0x6422f17b
je 0x408fb6
jmp 0x408163
mov eax, dword [ebp - 0xa8]
sub eax, 0x6dd2cb46
je 0x408acd
jmp 0x408179
mov eax, dword [ebp - 0xa8]
sub eax, 0x6e2b2126
je 0x4084f3
jmp 0x40818f
mov eax, dword [ebp - 0xa8]
sub eax, 0x6eafba76
je 0x40908a
jmp 0x4081a5
mov eax, dword [ebp - 0xa8]
sub eax, 0x748eeecc
je 0x4084e4
jmp 0x4081bb
mov eax, dword [ebp - 0xa8]
sub eax, 0x75670cbf
je 0x40881a
jmp 0x4081d1
mov eax, dword [ebp - 0xa8]
sub eax, 0x75d8898c
je 0x408ebf
jmp 0x4081e7
mov eax, dword [ebp - 0xa8]
sub eax, 0x76a7cfa7
je 0x4085df
jmp 0x4081fd
mov eax, dword [ebp - 0xa8]
sub eax, 0x79c5f3ce
je 0x40837b
jmp 0x408213
jmp 0x409151
mov al, byte [ebp - 0x9a]
mov cl, byte [ebp - 0x99]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x6422f17b
mov ecx, 0xc246c0c5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov ecx, dword [ebp - 0xa4]
push eax
mov eax, esp
mov dword [ebp - 0x98], eax
push eax
mov eax, esp
mov dword [ebp - 0x94], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x90], eax
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x84], eax
push eax
mov eax, esp
mov dword [ebp - 0x80], eax
push eax
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
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x94]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.00424200
add esp, 0xc
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
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, 0x6422f17b
mov ecx, 0xd4fc4863
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov dword [ebp - 0xa0], 0x79c5f3ce
jmp 0x409151
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xa0], 0x13a83aa5
jmp 0x409151
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x5c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x8c]
mov eax, 0x8a087b55
mov ecx, 0xa60e36d9
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov dword [ebp - 0xa0], 0xae1749d6
jmp 0x409151
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x94]
mov edx, dword [eax]
mov eax, dword [ebp - 0x90]
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 - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x8c]
mov ecx, dword [ecx]
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 - 0x84]
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 - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0xa0], 0xccf8ca4
jmp 0x409151
mov eax, dword [ebp - 0x58]
mov ecx, 0xffffffff
cmp eax, ecx
sete al
and al, 1
mov byte [ebp - 0x51], al
mov dword [ebp - 0xa0], 0xc2461f3a
jmp 0x409151
mov dl, byte [ebp - 0x51]
mov eax, 0x6e2b2126
mov ecx, 0x748eeecc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov dword [ebp - 0xa0], 0xae1749d6
jmp 0x409151
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
mov edx, ecx
add edx, 0x2b1d53cb
sub edx, 1
sub edx, 0x2b1d53cb
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, 0x2c835d4d
mov ecx, 0x47dd8afa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
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, 0x2c835d4d
mov ecx, 0x76a7cfa7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov dword [ebp - 0xa0], 0xe55837ae
jmp 0x409151
mov eax, dword [ebp - 0x50]
xor ecx, ecx
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1000002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov ecx, eax
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x49], al
mov dword [ebp - 0xa0], 0xd7e941e8
jmp 0x409151
mov dl, byte [ebp - 0x49]
mov eax, 0xd9c80b32
mov ecx, 0xfdef0261
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
mov edx, ecx
sub edx, 0x4c064daa
sub edx, 1
add edx, 0x4c064daa
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, 0x5c8b7a5f
mov ecx, 0x441ccab7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
mov edx, ecx
sub edx, 0x3f38c785
sub edx, 1
add edx, 0x3f38c785
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, 0x5c8b7a5f
mov ecx, 0x610a8b4c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov dword [ebp - 0xa0], 0x2030183e
jmp 0x409151
mov eax, dword [ebp - 0x48]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0x625efa43
jmp 0x409151
mov dword [ebp - 0xa0], 0xae1749d6
jmp 0x409151
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ecx, eax
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xa0], 0x5a8f168b
jmp 0x409151
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xa0], 0x75670cbf
jmp 0x409151
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
mov edx, ecx
add edx, 0x35ff33fa
sub edx, 1
sub edx, 0x35ff33fa
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, 0x33f4c7c8
mov ecx, 0x1910112
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
add ecx, 0x796e5b79
add ecx, eax
sub ecx, 0x796e5b79
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
mov word [eax], 0
mov eax, dword [0x43a55c]
mov ecx, dword [0x43a558]
mov edx, eax
sub edx, 0x12256c06
sub edx, 1
add edx, 0x12256c06
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, 0x33f4c7c8
mov ecx, 0x9cf5f776
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov dword [ebp - 0xa0], 0x92099873
jmp 0x409151
mov eax, dword [ebp - 0x6c]
mov ax, word [eax]
mov word [ebp - 0x36], ax
mov dword [ebp - 0xa0], 0xdcb2d42e
jmp 0x409151
mov eax, dword [0x43a55c]
mov ecx, dword [0x43a558]
mov edx, eax
add edx, 0xc7d4b7d1
sub edx, 1
sub edx, 0xc7d4b7d1
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, 0x6eafba76
mov ecx, 0xf77e51ff
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov ax, word [ebp - 0x36]
movzx eax, ax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
add eax, 4
add eax, 2
mov dword [ebp - 0x30], eax
mov eax, dword [0x43a55c]
mov ecx, dword [0x43a558]
mov edx, eax
add edx, 0xea82c669
sub edx, 1
sub edx, 0xea82c669
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, 0x6eafba76
mov ecx, 0x8e258028
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov dword [ebp - 0xa0], 0x8110bdb4
jmp 0x409151
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
mov edx, ecx
sub edx, 0xc7540629
sub edx, 1
add edx, 0xc7540629
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, 0x3a424d6b
mov ecx, 0xcfd156aa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov eax, dword [ebp - 0x30]
movzx ecx, word [eax]
mov eax, dword [ebp - 0x34]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x29], al
mov eax, dword [0x43a55c]
mov ecx, dword [0x43a558]
mov edx, eax
add edx, 0xf97b7a54
sub edx, 1
sub edx, 0xf97b7a54
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, 0x3a424d6b
mov ecx, 0x6dd2cb46
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov dl, byte [ebp - 0x29]
mov eax, 0xdbb4bf3b
mov ecx, 0x1db29a3e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov eax, dword [0x43a55c]
mov ecx, dword [0x43a558]
mov edx, eax
sub edx, 0x63bb47f
sub edx, 1
add edx, 0x63bb47f
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, 0xf6c207f9
mov ecx, 0xce4ea26
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov ecx, dword [ebp - 0x70]
mov ecx, dword [ecx]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [0x43a55c]
mov ecx, dword [0x43a558]
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, 0xf6c207f9
mov ecx, 0x2862dc40
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov dword [ebp - 0xa0], 0xa8c71639
jmp 0x409151
mov eax, dword [ebp - 0x24]
imul edx, eax, 0x28
mov eax, dword [ebp - 0x28]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xa0], 0x286277bf
jmp 0x409151
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x43286e
call fcn.00427b00
add esp, 8
mov edx, eax
mov eax, 0x82e9b173
mov ecx, 0x28398fac
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov eax, dword [0x43a55c]
mov ecx, dword [0x43a558]
mov edx, eax
add edx, 0x9ab28d0
sub edx, 1
sub edx, 0x9ab28d0
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, 0xbba57f7a
mov ecx, 0xd149919d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov eax, dword [ebp - 0x64]
mov dword [eax], 0
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x33ea737b
add edx, eax
add edx, 0x33ea737b
mov eax, dword [ebp - 0x64]
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 - 0x60]
mov byte [eax], cl
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x68]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x68]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
sub eax, 0x29becfa4
add eax, ecx
add eax, 0x29becfa4
mov dword [ebp - 0x18], eax
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
mov edx, ecx
sub edx, 0xf4696d5f
sub edx, 1
add edx, 0xf4696d5f
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, 0xbba57f7a
mov ecx, 0xe12122af
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov dword [ebp - 0xa0], 0xcfb86d7b
jmp 0x409151
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x1c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00424360
add esp, 0xc
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x88]
mov esi, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0xd9aa1b0e
add esi, eax
add esi, 0xd9aa1b0e
mov eax, dword [ebp - 0x64]
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 - 0x60]
mov byte [eax], cl
mov dword [ebp - 0xa0], 0x569714a
jmp 0x409151
mov dword [ebp - 0xa0], 0x28398fac
jmp 0x409151
mov dword [ebp - 0xa0], 0x580bd381
jmp 0x409151
mov eax, dword [ebp - 0x6c]
mov ax, word [eax]
sub ax, 0xd36e
add ax, 1
add ax, 0xd36e
mov word [ebp - 0x12], ax
mov dword [ebp - 0xa0], 0x13d18d3e
jmp 0x409151
mov eax, dword [ebp - 0x6c]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov dword [ebp - 0xa0], 0xf11fe3b4
jmp 0x409151
mov eax, dword [0x43a55c]
mov ecx, dword [0x43a558]
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, 0x995c6c6c
mov ecx, 0x75d8898c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
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, 0x995c6c6c
mov ecx, 0xd045a96e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x409151
mov dword [ebp - 0xa0], 0x92099873
jmp 0x409151
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0x82d859b7
jmp 0x409151
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xa0], 0xf9b92c02
jmp 0x409151
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0xae1749d6
jmp 0x409151
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00423510
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0xa4]
push eax
mov eax, esp
push eax
mov edx, esp
mov dword [ebp - 0xb0], edx
sub esp, 0xc
mov edx, esp
mov dword [ebp - 0xac], edx
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, dword [ebp - 0xb0]
mov edx, eax
mov eax, dword [ebp - 0xac]
mov dword [ecx], edx
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.00424200
add esp, 0xc
mov dword [ebp - 0xa0], 0xc246c0c5
jmp 0x409151
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa0], 0x47dd8afa
jmp 0x409151
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa0], 0x441ccab7
jmp 0x409151
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x3c]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
mov word [eax], 0
mov dword [ebp - 0xa0], 0x1910112
jmp 0x409151
mov ax, word [ebp - 0x36]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xa0], 0xf77e51ff
jmp 0x409151
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xa0], 0xcfd156aa
jmp 0x409151
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xa0], 0xce4ea26
jmp 0x409151
mov eax, dword [ebp - 0x64]
mov dword [eax], 0
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0x8d60a5a
add edx, eax
sub edx, 0x8d60a5a
mov eax, dword [ebp - 0x64]
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 - 0x60]
mov byte [eax], cl
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0xa0], 0xd149919d
jmp 0x409151
mov dword [ebp - 0xa0], 0x75d8898c
jmp 0x407ccf