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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xac
mov eax, dword [ebp + 8]
mov dword [ebp - 0xb0], eax
mov eax, dword [0x438080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x43957c]
mov eax, dword [0x439578]
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 - 0xa6], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0xa5], al
mov dword [ebp - 0xac], 0xc8342cd8
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xb4], eax
sub eax, 0x86ef877c
je 0x407d6c
jmp 0x4075eb
mov eax, dword [ebp - 0xb4]
sub eax, 0x8829b764
je 0x408880
jmp 0x407601
mov eax, dword [ebp - 0xb4]
sub eax, 0x9170a6e2
je 0x4089d6
jmp 0x407617
mov eax, dword [ebp - 0xb4]
sub eax, 0x91d1071e
je 0x407d47
jmp 0x40762d
mov eax, dword [ebp - 0xb4]
sub eax, 0x941bc2e5
je 0x407f4c
jmp 0x407643
mov eax, dword [ebp - 0xb4]
sub eax, 0x96c4fef8
je 0x408871
jmp 0x407659
mov eax, dword [ebp - 0xb4]
sub eax, 0x9731d812
je 0x408734
jmp 0x40766f
mov eax, dword [ebp - 0xb4]
sub eax, 0x99a037ee
je 0x4089e7
jmp 0x407685
mov eax, dword [ebp - 0xb4]
sub eax, 0x9dc132f6
je 0x407c45
jmp 0x40769b
mov eax, dword [ebp - 0xb4]
sub eax, 0x9efefff7
je 0x408b54
jmp 0x4076b1
mov eax, dword [ebp - 0xb4]
sub eax, 0xa3383998
je 0x408a9d
jmp 0x4076c7
mov eax, dword [ebp - 0xb4]
sub eax, 0xa692fb08
je 0x407e94
jmp 0x4076dd
mov eax, dword [ebp - 0xb4]
sub eax, 0xb2314dcd
je 0x4083ad
jmp 0x4076f3
mov eax, dword [ebp - 0xb4]
sub eax, 0xb72df939
je 0x408435
jmp 0x407709
mov eax, dword [ebp - 0xb4]
sub eax, 0xba8322b8
je 0x408788
jmp 0x40771f
mov eax, dword [ebp - 0xb4]
sub eax, 0xba9c31c3
je 0x407f75
jmp 0x407735
mov eax, dword [ebp - 0xb4]
sub eax, 0xbba4f0c4
je 0x407fd2
jmp 0x40774b
mov eax, dword [ebp - 0xb4]
sub eax, 0xbcdb0069
je 0x408279
jmp 0x407761
mov eax, dword [ebp - 0xb4]
sub eax, 0xbe242b35
je 0x408797
jmp 0x407777
mov eax, dword [ebp - 0xb4]
sub eax, 0xc06b73a3
je 0x4083f5
jmp 0x40778d
mov eax, dword [ebp - 0xb4]
sub eax, 0xc8342cd8
je 0x407b5a
jmp 0x4077a3
mov eax, dword [ebp - 0xb4]
sub eax, 0xccef440d
je 0x4089c7
jmp 0x4077b9
mov eax, dword [ebp - 0xb4]
sub eax, 0xce4603ee
je 0x4080df
jmp 0x4077cf
mov eax, dword [ebp - 0xb4]
sub eax, 0xd318f830
je 0x408ad0
jmp 0x4077e5
mov eax, dword [ebp - 0xb4]
sub eax, 0xd343ecc9
je 0x4084ab
jmp 0x4077fb
mov eax, dword [ebp - 0xb4]
sub eax, 0xd5b6bd44
je 0x4081e9
jmp 0x407811
mov eax, dword [ebp - 0xb4]
sub eax, 0xd7f739da
je 0x408574
jmp 0x407827
mov eax, dword [ebp - 0xb4]
sub eax, 0xe1cf42e6
je 0x407f5b
jmp 0x40783d
mov eax, dword [ebp - 0xb4]
sub eax, 0xe3a084f6
je 0x40891e
jmp 0x407853
mov eax, dword [ebp - 0xb4]
sub eax, 0xe3e988c8
je 0x40899a
jmp 0x407869
mov eax, dword [ebp - 0xb4]
sub eax, 0xec211a09
je 0x408048
jmp 0x40787f
mov eax, dword [ebp - 0xb4]
sub eax, 0xeebf7802
je 0x4081f8
jmp 0x407895
mov eax, dword [ebp - 0xb4]
sub eax, 0xf5fb5ff8
je 0x408155
jmp 0x4078ab
mov eax, dword [ebp - 0xb4]
sub eax, 0xfa24a988
je 0x407efb
jmp 0x4078c1
mov eax, dword [ebp - 0xb4]
sub eax, 0xfd35dfdd
je 0x4081da
jmp 0x4078d7
mov eax, dword [ebp - 0xb4]
sub eax, 0x18a1baf
je 0x408321
jmp 0x4078ed
mov eax, dword [ebp - 0xb4]
sub eax, 0x3991493
je 0x408b66
jmp 0x407903
mov eax, dword [ebp - 0xb4]
sub eax, 0xed72c36
je 0x407c36
jmp 0x407919
mov eax, dword [ebp - 0xb4]
sub eax, 0x19fb4b0c
je 0x407c8a
jmp 0x40792f
mov eax, dword [ebp - 0xb4]
sub eax, 0x1ca55f82
je 0x408a8b
jmp 0x407945
mov eax, dword [ebp - 0xb4]
sub eax, 0x221cd4a3
je 0x408254
jmp 0x40795b
mov eax, dword [ebp - 0xb4]
sub eax, 0x2782f9d6
je 0x408660
jmp 0x407971
mov eax, dword [ebp - 0xb4]
sub eax, 0x2e5fcea4
je 0x4083d5
jmp 0x407987
mov eax, dword [ebp - 0xb4]
sub eax, 0x342162ff
je 0x407dbd
jmp 0x40799d
mov eax, dword [ebp - 0xb4]
sub eax, 0x34929b91
je 0x4089a9
jmp 0x4079b3
mov eax, dword [ebp - 0xb4]
sub eax, 0x37b3ec15
je 0x4089f6
jmp 0x4079c9
mov eax, dword [ebp - 0xb4]
sub eax, 0x3a6b6ed9
je 0x40866f
jmp 0x4079df
mov eax, dword [ebp - 0xb4]
sub eax, 0x3f4add0c
je 0x4082ab
jmp 0x4079f5
mov eax, dword [ebp - 0xb4]
sub eax, 0x41b36bb5
je 0x4083bc
jmp 0x407a0b
mov eax, dword [ebp - 0xb4]
sub eax, 0x432b883d
je 0x4088a8
jmp 0x407a21
mov eax, dword [ebp - 0xb4]
sub eax, 0x4eae9baa
je 0x407cfe
jmp 0x407a37
mov eax, dword [ebp - 0xb4]
sub eax, 0x522309b4
je 0x408899
jmp 0x407a4d
mov eax, dword [ebp - 0xb4]
sub eax, 0x527b1266
je 0x407eb2
jmp 0x407a63
mov eax, dword [ebp - 0xb4]
sub eax, 0x535e6fbe
je 0x4080a7
jmp 0x407a79
mov eax, dword [ebp - 0xb4]
sub eax, 0x567e889f
je 0x40840c
jmp 0x407a8f
mov eax, dword [ebp - 0xb4]
sub eax, 0x5f11bfc8
je 0x408a7c
jmp 0x407aa5
mov eax, dword [ebp - 0xb4]
sub eax, 0x5f54fffe
je 0x407cef
jmp 0x407abb
mov eax, dword [ebp - 0xb4]
sub eax, 0x61d3639b
je 0x4085e2
jmp 0x407ad1
mov eax, dword [ebp - 0xb4]
sub eax, 0x6ac627e4
je 0x407b89
jmp 0x407ae7
mov eax, dword [ebp - 0xb4]
sub eax, 0x71530a1b
je 0x408b30
jmp 0x407afd
mov eax, dword [ebp - 0xb4]
sub eax, 0x7470eb53
je 0x4080c5
jmp 0x407b13
mov eax, dword [ebp - 0xb4]
sub eax, 0x7860f13e
je 0x408abb
jmp 0x407b29
mov eax, dword [ebp - 0xb4]
sub eax, 0x7b37675c
je 0x408556
jmp 0x407b3f
mov eax, dword [ebp - 0xb4]
sub eax, 0x7b479fe8
je 0x40880d
jmp 0x407b55
jmp 0x408b9e
mov al, byte [ebp - 0xa6]
mov cl, byte [ebp - 0xa5]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x99a037ee
mov ecx, 0x6ac627e4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
push eax
mov eax, esp
mov dword [ebp - 0xa4], eax
push eax
mov eax, esp
mov dword [ebp - 0xa0], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x9c], eax
push eax
mov eax, esp
mov dword [ebp - 0x98], eax
push eax
mov eax, esp
mov dword [ebp - 0x94], eax
sub esp, 0x104
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
push eax
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
mov eax, dword [0x43957c]
mov ecx, dword [0x439578]
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, 0x99a037ee
mov ecx, 0xed72c36
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov dword [ebp - 0xac], 0x9dc132f6
jmp 0x408b9e
mov ecx, dword [ebp - 0xb0]
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
mov eax, dword [ebp - 0xa4]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0xa0]
mov dword [eax], ecx
mov dword [ebp - 0xac], 0x19fb4b0c
jmp 0x408b9e
mov eax, dword [ebp - 0x9c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.004228c0
add esp, 0xc
mov eax, dword [ebp - 0xa4]
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 - 0x98]
mov dword [eax], ecx
mov edx, dword [ebp - 0x98]
mov eax, 0x5f54fffe
mov ecx, 0x4eae9baa
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov dword [ebp - 0xac], 0x9170a6e2
jmp 0x408b9e
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
mov eax, dword [ebp - 0x9c]
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 - 0x9c]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0xac], 0x91d1071e
jmp 0x408b9e
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x94]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0xac], 0x86ef877c
jmp 0x408b9e
mov eax, dword [0x43957c]
mov ecx, dword [0x439578]
mov edx, eax
add edx, 0x27bd227
sub edx, 1
sub edx, 0x27bd227
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, 0x37b3ec15
mov ecx, 0x342162ff
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
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 - 0x90]
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 - 0x8c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x5d], al
mov eax, dword [0x43957c]
mov ecx, dword [0x439578]
mov edx, eax
add edx, 0xb3a075f4
sub edx, 1
sub edx, 0xb3a075f4
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, 0x37b3ec15
mov ecx, 0xa692fb08
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov dl, byte [ebp - 0x5d]
mov eax, 0xe1cf42e6
mov ecx, 0x527b1266
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov eax, dword [0x43957c]
mov ecx, dword [0x439578]
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, 0x5f11bfc8
mov ecx, 0xfa24a988
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov eax, dword [0x43957c]
mov ecx, dword [0x439578]
mov edx, eax
add edx, 0x74ed9d27
sub edx, 1
sub edx, 0x74ed9d27
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, 0x5f11bfc8
mov ecx, 0x941bc2e5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov dword [ebp - 0xac], 0x9170a6e2
jmp 0x408b9e
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xac], 0xba9c31c3
jmp 0x408b9e
mov eax, dword [ebp - 0x5c]
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 - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0xac], 0xbba4f0c4
jmp 0x408b9e
mov ecx, dword [0x43957c]
mov eax, dword [0x439578]
mov edx, ecx
add edx, 0x2c45c167
sub edx, 1
sub edx, 0x2c45c167
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, 0x1ca55f82
mov ecx, 0xec211a09
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov eax, dword [ebp - 0x58]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x51], al
mov eax, dword [0x43957c]
mov ecx, dword [0x439578]
mov edx, eax
add edx, 0xb45ba4b2
sub edx, 1
sub edx, 0xb45ba4b2
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, 0x1ca55f82
mov ecx, 0x535e6fbe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov dl, byte [ebp - 0x51]
mov eax, 0x7470eb53
mov ecx, 0xeebf7802
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xac], 0xce4603ee
jmp 0x408b9e
mov ecx, dword [0x43957c]
mov eax, dword [0x439578]
mov edx, ecx
sub edx, 0x61c7a31a
sub edx, 1
add edx, 0x61c7a31a
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, 0xa3383998
mov ecx, 0xf5fb5ff8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov eax, dword [ebp - 0x50]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x43957c]
mov eax, dword [0x439578]
mov edx, ecx
add edx, 0x51886519
sub edx, 1
sub edx, 0x51886519
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, 0xa3383998
mov ecx, 0xfd35dfdd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov dword [ebp - 0xac], 0xd5b6bd44
jmp 0x408b9e
mov dword [ebp - 0xac], 0x9170a6e2
jmp 0x408b9e
mov eax, dword [ebp - 0x88]
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 - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov dword [ebp - 0xac], 0x221cd4a3
jmp 0x408b9e
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
add eax, 0x3c
mov dword [ebp - 0x48], eax
mov dword [ebp - 0xac], 0xbcdb0069
jmp 0x408b9e
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x4c]
sub ecx, 0x4f881ebd
add ecx, eax
add ecx, 0x4f881ebd
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov word [eax], 0
mov dword [ebp - 0xac], 0x3f4add0c
jmp 0x408b9e
mov ecx, dword [0x43957c]
mov eax, dword [0x439578]
mov edx, ecx
add edx, 0x6a0301a5
sub edx, 1
sub edx, 0x6a0301a5
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, 0x7860f13e
mov ecx, 0x18a1baf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov eax, dword [ebp - 0x78]
movzx eax, word [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov ax, word [eax + 6]
mov word [ebp - 0x3e], ax
mov ecx, dword [0x43957c]
mov eax, dword [0x439578]
mov edx, ecx
add edx, 0x824a0c82
sub edx, 1
sub edx, 0x824a0c82
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, 0x7860f13e
mov ecx, 0xb2314dcd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov dword [ebp - 0xac], 0x41b36bb5
jmp 0x408b9e
mov ax, word [ebp - 0x3e]
movzx eax, ax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xac], 0x2e5fcea4
jmp 0x408b9e
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x3c]
mov eax, 0x432b883d
mov ecx, 0xc06b73a3
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xac], 0x567e889f
jmp 0x408b9e
mov eax, dword [ebp - 0x38]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov ax, word [eax + 0x14]
mov word [ebp - 0x30], ax
mov dword [ebp - 0xac], 0xb72df939
jmp 0x408b9e
mov ecx, dword [0x43957c]
mov eax, dword [0x439578]
mov edx, ecx
add edx, 0x102953b7
sub edx, 1
sub edx, 0x102953b7
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, 0xd318f830
mov ecx, 0xd343ecc9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov ax, word [ebp - 0x30]
movzx eax, ax
mov ecx, dword [ebp - 0x34]
add ecx, 0xecb2b5a9
add ecx, eax
sub ecx, 0xecb2b5a9
mov eax, dword [ebp - 0x78]
movzx eax, word [eax]
imul eax, eax, 0x28
sub ecx, 0x88662dcb
add ecx, eax
add ecx, 0x88662dcb
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x43186e
call fcn.004261c0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x2d], al
mov eax, dword [0x43957c]
mov ecx, dword [0x439578]
mov edx, eax
sub edx, 0x5f696a77
sub edx, 1
add edx, 0x5f696a77
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, 0xd318f830
mov ecx, 0x7b37675c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov dl, byte [ebp - 0x2d]
mov eax, 0xd7f739da
mov ecx, 0xba8322b8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov ecx, dword [0x43957c]
mov eax, dword [0x439578]
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, 0x71530a1b
mov ecx, 0x61d3639b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov eax, dword [ebp - 0x70]
mov dword [eax], 0
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x74]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [0x43957c]
mov ecx, dword [0x439578]
mov edx, eax
add edx, 0xd2e07e8a
sub edx, 1
sub edx, 0xd2e07e8a
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, 0x71530a1b
mov ecx, 0x2782f9d6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov dword [ebp - 0xac], 0x3a6b6ed9
jmp 0x408b9e
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x2c]
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 - 0x6c]
mov byte [eax], cl
mov eax, dword [ebp - 0x94]
mov edx, dword [eax]
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0x629e40db
add edx, eax
sub edx, 0x629e40db
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, esi
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x74]
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.00422a20
add esp, 0xc
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xac], 0x9731d812
jmp 0x408b9e
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov esi, dword [ebp - 0x1c]
sub esi, 0x398959de
add esi, eax
add esi, 0x398959de
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
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 - 0x6c]
mov byte [eax], cl
mov dword [ebp - 0xac], 0xba8322b8
jmp 0x408b9e
mov dword [ebp - 0xac], 0xbe242b35
jmp 0x408b9e
mov ecx, dword [0x43957c]
mov eax, dword [0x439578]
mov edx, ecx
add edx, 0xbf4ba27c
sub edx, 1
sub edx, 0xbf4ba27c
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, 0x9efefff7
mov ecx, 0x7b479fe8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov eax, dword [ebp - 0x78]
mov ax, word [eax]
xor ecx, ecx
sub cx, 1
sub ax, cx
mov word [ebp - 0x12], ax
mov eax, dword [0x43957c]
mov ecx, dword [0x439578]
mov edx, eax
sub edx, 0x508906d9
sub edx, 1
add edx, 0x508906d9
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, 0x9efefff7
mov ecx, 0x96c4fef8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov dword [ebp - 0xac], 0x8829b764
jmp 0x408b9e
mov eax, dword [ebp - 0x78]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov dword [ebp - 0xac], 0x522309b4
jmp 0x408b9e
mov dword [ebp - 0xac], 0x3f4add0c
jmp 0x408b9e
mov ecx, dword [0x43957c]
mov eax, dword [0x439578]
mov edx, ecx
sub edx, 0x8afa8706
sub edx, 1
add edx, 0x8afa8706
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, 0x3991493
mov ecx, 0xe3a084f6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov eax, dword [0x43957c]
mov ecx, dword [0x439578]
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, 0x3991493
mov ecx, 0xe3e988c8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x408b9e
mov dword [ebp - 0xac], 0x34929b91
jmp 0x408b9e
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xac], 0xccef440d
jmp 0x408b9e
mov dword [ebp - 0xac], 0x9170a6e2
jmp 0x408b9e
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00421bd0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0xac], 0x6ac627e4
jmp 0x408b9e
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
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 - 0x90]
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 - 0x8c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xac], 0x342162ff
jmp 0x408b9e
mov dword [ebp - 0xac], 0xfa24a988
jmp 0x408b9e
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0xac], 0xec211a09
jmp 0x408b9e
mov eax, dword [ebp - 0x50]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xac], 0xf5fb5ff8
jmp 0x408b9e
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xac], 0x18a1baf
jmp 0x408b9e
mov ax, word [ebp - 0x30]
movzx edx, ax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x78]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x43186e
call fcn.004261c0
add esp, 8
mov dword [ebp - 0xac], 0xd343ecc9
jmp 0x408b9e
mov eax, dword [ebp - 0x70]
mov dword [eax], 0
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xac], 0x61d3639b
jmp 0x408b9e
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0xac], 0x7b479fe8
jmp 0x408b9e
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xac], 0xe3a084f6
jmp 0x4075cf