Function at 0x4076b0
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 [0x432080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x98], 0x545d28aa
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa0], eax
sub eax, 0x825f8360
je 0x408308
jmp 0x4076f4
mov eax, dword [ebp - 0xa0]
sub eax, 0x8306c2b3
je 0x4082ea
jmp 0x40770a
mov eax, dword [ebp - 0xa0]
sub eax, 0x842dca23
je 0x4081ad
jmp 0x407720
mov eax, dword [ebp - 0xa0]
sub eax, 0x8867f0c6
je 0x408aa4
jmp 0x407736
mov eax, dword [ebp - 0xa0]
sub eax, 0x8aa8050e
je 0x408930
jmp 0x40774c
mov eax, dword [ebp - 0xa0]
sub eax, 0x8af7c06b
je 0x40914a
jmp 0x407762
mov eax, dword [ebp - 0xa0]
sub eax, 0x8d58e1a9
je 0x408d99
jmp 0x407778
mov eax, dword [ebp - 0xa0]
sub eax, 0x926fdcc7
je 0x408c7a
jmp 0x40778e
mov eax, dword [ebp - 0xa0]
sub eax, 0x93d05155
je 0x408af1
jmp 0x4077a4
mov eax, dword [ebp - 0xa0]
sub eax, 0x9bba97bb
je 0x4090ce
jmp 0x4077ba
mov eax, dword [ebp - 0xa0]
sub eax, 0x9d35abb7
je 0x40885f
jmp 0x4077d0
mov eax, dword [ebp - 0xa0]
sub eax, 0x9f727df1
je 0x40862f
jmp 0x4077e6
mov eax, dword [ebp - 0xa0]
sub eax, 0xa6bf5944
je 0x408d48
jmp 0x4077fc
mov eax, dword [ebp - 0xa0]
sub eax, 0xa7034e81
je 0x4084e1
jmp 0x407812
mov eax, dword [ebp - 0xa0]
sub eax, 0xa95e10dc
je 0x409039
jmp 0x407828
mov eax, dword [ebp - 0xa0]
sub eax, 0xa97caec8
je 0x407ee5
jmp 0x40783e
mov eax, dword [ebp - 0xa0]
sub eax, 0xaa74dfd1
je 0x40814a
jmp 0x407854
mov eax, dword [ebp - 0xa0]
sub eax, 0xab58ca25
je 0x408359
jmp 0x40786a
mov eax, dword [ebp - 0xa0]
sub eax, 0xabd21530
je 0x40845c
jmp 0x407880
mov eax, dword [ebp - 0xa0]
sub eax, 0xb69fe506
je 0x408274
jmp 0x407896
mov eax, dword [ebp - 0xa0]
sub eax, 0xb8148d53
je 0x408f9a
jmp 0x4078ac
mov eax, dword [ebp - 0xa0]
sub eax, 0xb97122d6
je 0x408e27
jmp 0x4078c2
mov eax, dword [ebp - 0xa0]
sub eax, 0xbc12d2a4
je 0x4085c6
jmp 0x4078d8
mov eax, dword [ebp - 0xa0]
sub eax, 0xc623c4c7
je 0x409078
jmp 0x4078ee
mov eax, dword [ebp - 0xa0]
sub eax, 0xd2b02431
je 0x408e9d
jmp 0x407904
mov eax, dword [ebp - 0xa0]
sub eax, 0xd4b43948
je 0x40893f
jmp 0x40791a
mov eax, dword [ebp - 0xa0]
sub eax, 0xdb852c98
je 0x408f89
jmp 0x407930
mov eax, dword [ebp - 0xa0]
sub eax, 0xe3250403
je 0x408647
jmp 0x407946
mov eax, dword [ebp - 0xa0]
sub eax, 0xe3f45b1e
je 0x408f22
jmp 0x40795c
mov eax, dword [ebp - 0xa0]
sub eax, 0xe5f21427
je 0x407ff6
jmp 0x407972
mov eax, dword [ebp - 0xa0]
sub eax, 0xe5ffc0ca
je 0x408265
jmp 0x407988
mov eax, dword [ebp - 0xa0]
sub eax, 0xe79a7b95
je 0x4090e0
jmp 0x40799e
mov eax, dword [ebp - 0xa0]
sub eax, 0xe9a57a23
je 0x40920c
jmp 0x4079b4
mov eax, dword [ebp - 0xa0]
sub eax, 0xefa90582
je 0x407e94
jmp 0x4079ca
mov eax, dword [ebp - 0xa0]
sub eax, 0xefb5a6df
je 0x408541
jmp 0x4079e0
mov eax, dword [ebp - 0xa0]
sub eax, 0xf1f75c6d
je 0x4081cb
jmp 0x4079f6
mov eax, dword [ebp - 0xa0]
sub eax, 0xf796734b
je 0x408729
jmp 0x407a0c
mov eax, dword [ebp - 0xa0]
sub eax, 0xfc9f8a96
je 0x408dfb
jmp 0x407a22
mov eax, dword [ebp - 0xa0]
sub eax, 0xfd80b98d
je 0x40821c
jmp 0x407a38
mov eax, dword [ebp - 0xa0]
sub eax, 0xff5e2cc7
je 0x408f13
jmp 0x407a4e
mov eax, dword [ebp - 0xa0]
sub eax, 0x5ba0c5c
je 0x4084f0
jmp 0x407a64
mov eax, dword [ebp - 0xa0]
sub eax, 0x5e8e867
je 0x4085b7
jmp 0x407a7a
mov eax, dword [ebp - 0xa0]
sub eax, 0x89b6b61
je 0x408990
jmp 0x407a90
mov eax, dword [ebp - 0xa0]
sub eax, 0xca83d39
je 0x40921b
jmp 0x407aa6
mov eax, dword [ebp - 0xa0]
sub eax, 0x153f3bff
je 0x4080f9
jmp 0x407abc
mov eax, dword [ebp - 0xa0]
sub eax, 0x160dd4fb
je 0x408fa9
jmp 0x407ad2
mov eax, dword [ebp - 0xa0]
sub eax, 0x17291e4b
je 0x407e85
jmp 0x407ae8
mov eax, dword [ebp - 0xa0]
sub eax, 0x1a81f9ca
je 0x4090b9
jmp 0x407afe
mov eax, dword [ebp - 0xa0]
sub eax, 0x1eb35bdd
je 0x408ce8
jmp 0x407b14
mov eax, dword [ebp - 0xa0]
sub eax, 0x2273a218
je 0x40902a
jmp 0x407b2a
mov eax, dword [ebp - 0xa0]
sub eax, 0x2375091b
je 0x408a76
jmp 0x407b40
mov eax, dword [ebp - 0xa0]
sub eax, 0x23d34cf9
je 0x408c6b
jmp 0x407b56
mov eax, dword [ebp - 0xa0]
sub eax, 0x257b898b
je 0x409069
jmp 0x407b6c
mov eax, dword [ebp - 0xa0]
sub eax, 0x25d04aef
je 0x408690
jmp 0x407b82
mov eax, dword [ebp - 0xa0]
sub eax, 0x27a07a19
je 0x407de0
jmp 0x407b98
mov eax, dword [ebp - 0xa0]
sub eax, 0x2893723c
je 0x40803d
jmp 0x407bae
mov eax, dword [ebp - 0xa0]
sub eax, 0x28c05bd7
je 0x408f6b
jmp 0x407bc4
mov eax, dword [ebp - 0xa0]
sub eax, 0x2ff3bfe2
je 0x408738
jmp 0x407bda
mov eax, dword [ebp - 0xa0]
sub eax, 0x317569d9
je 0x408f53
jmp 0x407bf0
mov eax, dword [ebp - 0xa0]
sub eax, 0x35e88fac
je 0x408014
jmp 0x407c06
mov eax, dword [ebp - 0xa0]
sub eax, 0x4418c369
je 0x4087dc
jmp 0x407c1c
mov eax, dword [ebp - 0xa0]
sub eax, 0x460d9e13
je 0x408a58
jmp 0x407c32
mov eax, dword [ebp - 0xa0]
sub eax, 0x4aae9641
je 0x4083d7
jmp 0x407c48
mov eax, dword [ebp - 0xa0]
sub eax, 0x4b634058
je 0x4088d5
jmp 0x407c5e
mov eax, dword [ebp - 0xa0]
sub eax, 0x4c67c704
je 0x408793
push eax
sub esp, 8
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
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x80], eax
push eax
mov eax, esp
mov dword [ebp - 0x7c], eax
mov ecx, dword [0x433574]
mov eax, dword [0x433570]
mov edx, ecx
sub edx, 0x5bf034ba
sub edx, 1
add edx, 0x5bf034ba
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, 0xb8148d53
mov ecx, 0x17291e4b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov dword [ebp - 0x98], 0xefa90582
jmp 0x409237
mov eax, dword [0x433574]
mov ecx, dword [0x433570]
mov edx, eax
sub edx, 0xd6fe99b6
sub edx, 1
add edx, 0xd6fe99b6
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, 0x160dd4fb
mov ecx, 0xa97caec8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov eax, dword [ebp - 0x9c]
push eax
mov ecx, esp
mov dword [ebp - 0x78], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x74], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x70], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x6c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x68], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x64], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x60], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x90], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0041c4f0
add esp, 0xc
mov eax, dword [ebp - 0x90]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x55], al
mov ecx, dword [0x433574]
mov eax, dword [0x433570]
mov edx, ecx
sub edx, 0x3254def1
sub edx, 1
add edx, 0x3254def1
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, 0x160dd4fb
mov ecx, 0xe5f21427
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov dl, byte [ebp - 0x55]
mov eax, 0x35e88fac
mov ecx, 0x4ec9e01b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov dword [ebp - 0x98], 0xdb852c98
jmp 0x409237
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x54]
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 - 0x8c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x88]
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 - 0x80]
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 - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x98], 0x153f3bff
jmp 0x409237
mov eax, dword [0x433574]
mov ecx, dword [0x433570]
mov edx, eax
sub edx, 0x34b7fce6
sub edx, 1
add edx, 0x34b7fce6
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, 0x757208c8
mov ecx, 0xaa74dfd1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov eax, dword [ebp - 0x50]
mov ecx, 0xffffffff
cmp eax, ecx
sete al
and al, 1
mov byte [ebp - 0x49], al
mov eax, dword [0x433574]
mov ecx, dword [0x433570]
mov edx, eax
sub edx, 0x7fac459e
sub edx, 1
add edx, 0x7fac459e
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, 0x757208c8
mov ecx, 0x842dca23
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov dl, byte [ebp - 0x49]
mov eax, 0xb69fe506
mov ecx, 0xf1f75c6d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov eax, dword [0x433574]
mov ecx, dword [0x433570]
mov edx, eax
add edx, 0x249f7adf
sub edx, 1
sub edx, 0x249f7adf
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, 0x2273a218
mov ecx, 0xfd80b98d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov eax, dword [0x433574]
mov ecx, dword [0x433570]
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, 0x2273a218
mov ecx, 0xe5ffc0ca
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov dword [ebp - 0x98], 0xdb852c98
jmp 0x409237
mov eax, dword [ebp - 0x7c]
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 ecx, eax
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x98], 0x4f4dc81c
jmp 0x409237
mov dl, byte [ebp - 0x41]
mov eax, 0x825f8360
mov ecx, 0xbc12d2a4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov eax, dword [0x433574]
mov ecx, dword [0x433570]
mov edx, eax
sub edx, 0xfc11912e
sub edx, 1
add edx, 0xfc11912e
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, 0xa95e10dc
mov ecx, 0xab58ca25
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov ecx, dword [0x433574]
mov eax, dword [0x433570]
mov edx, ecx
sub edx, 0xfef2bd90
sub edx, 1
add edx, 0xfef2bd90
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, 0xa95e10dc
mov ecx, 0x4aae9641
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov dword [ebp - 0x98], 0x5fe4edf0
jmp 0x409237
mov eax, dword [ebp - 0x40]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x433574]
mov eax, dword [0x433570]
mov edx, ecx
sub edx, 0x1c73fb3f
sub edx, 1
add edx, 0x1c73fb3f
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, 0x5b06493f
mov ecx, 0xa7034e81
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov dword [ebp - 0x98], 0x5ba0c5c
jmp 0x409237
mov eax, dword [0x433574]
mov ecx, dword [0x433570]
mov edx, eax
sub edx, 0xc2721039
sub edx, 1
add edx, 0xc2721039
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, 0x257b898b
mov ecx, 0xefb5a6df
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov ecx, dword [0x433574]
mov eax, dword [0x433570]
mov edx, ecx
sub edx, 0x700a0d37
sub edx, 1
add edx, 0x700a0d37
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, 0x257b898b
mov ecx, 0x5e8e867
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov dword [ebp - 0x98], 0xdb852c98
jmp 0x409237
mov eax, dword [ebp - 0x78]
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 - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x98], 0x9f727df1
jmp 0x409237
mov eax, dword [ebp - 0x38]
add eax, 0x3c
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x98], 0xe3250403
jmp 0x409237
mov eax, dword [0x433574]
mov ecx, dword [0x433570]
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, 0xc623c4c7
mov ecx, 0x25d04aef
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
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 - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov word [eax], 0
mov ecx, dword [0x433574]
mov eax, dword [0x433570]
mov edx, ecx
add edx, 0xc08e1845
sub edx, 1
sub edx, 0xc08e1845
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, 0xc623c4c7
mov ecx, 0xf796734b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov dword [ebp - 0x98], 0x2ff3bfe2
jmp 0x409237
mov eax, dword [ebp - 0x68]
movzx eax, word [eax]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x98], 0x7f1bfeae
jmp 0x409237
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
add eax, 0x8dbc9b28
add eax, 0x18
sub eax, 0x8dbc9b28
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
add eax, 4
add eax, 0x10
mov dword [ebp - 0x24], eax
mov eax, dword [0x433574]
mov ecx, dword [0x433570]
mov edx, eax
add edx, 0x894dfb5e
sub edx, 1
sub edx, 0x894dfb5e
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, 0x1a81f9ca
mov ecx, 0x667d85fa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov ecx, dword [0x433574]
mov eax, dword [0x433570]
mov edx, ecx
sub edx, 0x17154f07
sub edx, 1
add edx, 0x17154f07
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, 0x9bba97bb
mov ecx, 0x4b634058
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov eax, dword [ebp - 0x24]
mov ax, word [eax]
mov word [ebp - 0x20], ax
mov eax, dword [0x433574]
mov ecx, dword [0x433570]
mov edx, eax
add edx, 0xcf3c2e83
sub edx, 1
sub edx, 0xcf3c2e83
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, 0x9bba97bb
mov ecx, 0x8aa8050e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov dword [ebp - 0x98], 0xd4b43948
jmp 0x409237
mov eax, dword [0x433574]
mov ecx, dword [0x433570]
mov edx, eax
add edx, 0xab894bf8
sub edx, 1
sub edx, 0xab894bf8
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, 0xe79a7b95
mov ecx, 0x89b6b61
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov ax, word [ebp - 0x20]
movzx eax, ax
mov ecx, dword [ebp - 0x28]
sub ecx, 0xcc9c1071
add ecx, eax
add ecx, 0xcc9c1071
mov eax, dword [ebp - 0x68]
movzx eax, word [eax]
imul eax, eax, 0x28
add ecx, 0x9730b280
add ecx, eax
sub ecx, 0x9730b280
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42b959
call fcn.0041fdf0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x1d], al
mov ecx, dword [0x433574]
mov eax, dword [0x433570]
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, 0xe79a7b95
mov ecx, 0x460d9e13
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov dl, byte [ebp - 0x1d]
mov eax, 0x2375091b
mov ecx, 0x926fdcc7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov eax, dword [ebp - 0x60]
mov dword [eax], 0
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x98], 0x8867f0c6
jmp 0x409237
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x1c]
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 al
and al, 1
mov byte [ebp - 0x13], al
mov dword [ebp - 0x98], 0x93d05155
jmp 0x409237
mov eax, dword [0x433574]
mov ecx, dword [0x433570]
mov edx, eax
add edx, 0x1e82c7c7
sub edx, 1
sub edx, 0x1e82c7c7
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, 0x8af7c06b
mov ecx, 0x69947f31
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov dword [ebp - 0x98], 0x926fdcc7
jmp 0x409237
mov ecx, dword [0x433574]
mov eax, dword [0x433570]
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, 0xe9a57a23
mov ecx, 0x1eb35bdd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov eax, dword [0x433574]
mov ecx, dword [0x433570]
mov edx, eax
sub edx, 0x8e38a6fa
sub edx, 1
add edx, 0x8e38a6fa
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, 0xe9a57a23
mov ecx, 0x5f447868
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov eax, dword [0x433574]
mov ecx, dword [0x433570]
mov edx, eax
add edx, 0xa612e2f0
sub edx, 1
sub edx, 0xa612e2f0
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, 0xca83d39
mov ecx, 0x8d58e1a9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov eax, dword [ebp - 0x68]
mov ax, word [eax]
mov word [ebp - 0x12], ax
mov eax, dword [0x433574]
mov ecx, dword [0x433570]
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, 0xca83d39
mov ecx, 0x56fcb66c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov cx, word [ebp - 0x12]
xor eax, eax
sub ax, cx
xor ecx, ecx
sub cx, 1
add ax, cx
xor ecx, ecx
sub cx, ax
mov eax, dword [ebp - 0x68]
mov word [eax], cx
mov dword [ebp - 0x98], 0xb97122d6
jmp 0x409237
mov ecx, dword [0x433574]
mov eax, dword [0x433570]
mov edx, ecx
add edx, 0xd6013054
sub edx, 1
sub edx, 0xd6013054
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, 0x58bfc5cb
mov ecx, 0xd2b02431
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov ecx, dword [0x433574]
mov eax, dword [0x433570]
mov edx, ecx
sub edx, 0x592fbee3
sub edx, 1
add edx, 0x592fbee3
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, 0x58bfc5cb
mov ecx, 0xff5e2cc7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x409237
mov dword [ebp - 0x98], 0x2ff3bfe2
jmp 0x409237
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 - 0x78]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0x317569d9
jmp 0x409237
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x98], 0x28c05bd7
jmp 0x409237
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0xdb852c98
jmp 0x409237
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0041b800
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x98], 0x27a07a19
jmp 0x409237
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x90], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0041c4f0
add esp, 0xc
mov eax, dword [ebp - 0x90]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x98], 0xa97caec8
jmp 0x409237
mov dword [ebp - 0x98], 0xfd80b98d
jmp 0x409237
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x98], 0xab58ca25
jmp 0x409237
mov dword [ebp - 0x98], 0xefb5a6df
jmp 0x409237
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
sub ecx, 0xdf2bc325
add ecx, eax
add ecx, 0xdf2bc325
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov word [eax], 0
mov dword [ebp - 0x98], 0x25d04aef
jmp 0x409237
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x98], 0x4418c369
jmp 0x409237
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x98], 0x4b634058
jmp 0x409237
mov ax, word [ebp - 0x20]
movzx edx, ax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
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]
movzx eax, word [eax]
imul eax, eax, 0x28
sub ecx, 0x21cb85f9
add ecx, eax
add ecx, 0x21cb85f9
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42b959
call fcn.0041fdf0
add esp, 8
mov dword [ebp - 0x98], 0x89b6b61
jmp 0x409237
mov eax, dword [ebp - 0x5c]
mov cl, byte [ebp - 0x13]
mov byte [eax], cl
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub ecx, 0xd26aac7f
add ecx, eax
add ecx, 0xd26aac7f
mov eax, dword [ebp - 0x64]
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.0041c650
add esp, 0xc
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x84]
mov esi, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0x84f4b58e
add esi, eax
add esi, 0x84f4b58e
mov eax, dword [ebp - 0x60]
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 - 0x5c]
mov byte [eax], cl
mov dword [ebp - 0x98], 0x69947f31
jmp 0x409237
mov dword [ebp - 0x98], 0x1eb35bdd
jmp 0x409237
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x98], 0x8d58e1a9
jmp 0x409237
jmp 0x4076d8