Function at 0x410460
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 [0x441080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x44257c]
mov eax, dword [0x442578]
mov edx, ecx
add edx, 0x91a76d2
sub edx, 1
sub edx, 0x91a76d2
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], 0x7240c2b6
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa0], eax
sub eax, 0x81360ecd
je 0x410aaa
jmp 0x4104e3
mov eax, dword [ebp - 0xa0]
sub eax, 0x8240f517
je 0x410c8a
jmp 0x4104f9
mov eax, dword [ebp - 0xa0]
sub eax, 0x87337584
je 0x410d9a
jmp 0x41050f
mov eax, dword [ebp - 0xa0]
sub eax, 0x89506ee8
je 0x411446
jmp 0x410525
mov eax, dword [ebp - 0xa0]
sub eax, 0x8e2c386e
je 0x41128c
jmp 0x41053b
mov eax, dword [ebp - 0xa0]
sub eax, 0x923c9d2b
je 0x41121c
jmp 0x410551
mov eax, dword [ebp - 0xa0]
sub eax, 0x943140ef
je 0x4110ee
jmp 0x410567
mov eax, dword [ebp - 0xa0]
sub eax, 0x95715fb2
je 0x411173
jmp 0x41057d
mov eax, dword [ebp - 0xa0]
sub eax, 0x9c6b8318
je 0x410e4f
jmp 0x410593
mov eax, dword [ebp - 0xa0]
sub eax, 0xaad95e55
je 0x4111d4
jmp 0x4105a9
mov eax, dword [ebp - 0xa0]
sub eax, 0xacbb237b
je 0x411317
jmp 0x4105bf
mov eax, dword [ebp - 0xa0]
sub eax, 0xada29167
je 0x410d8b
jmp 0x4105d5
mov eax, dword [ebp - 0xa0]
sub eax, 0xc253f6ed
je 0x410ffa
jmp 0x4105eb
mov eax, dword [ebp - 0xa0]
sub eax, 0xc9f77d71
je 0x410f2b
jmp 0x410601
mov eax, dword [ebp - 0xa0]
sub eax, 0xd0fc25e7
je 0x4111b6
jmp 0x410617
mov eax, dword [ebp - 0xa0]
sub eax, 0xd305d609
je 0x410e66
jmp 0x41062d
mov eax, dword [ebp - 0xa0]
sub eax, 0xd64fbc05
je 0x41123b
jmp 0x410643
mov eax, dword [ebp - 0xa0]
sub eax, 0xd7ecea74
je 0x411696
jmp 0x410659
mov eax, dword [ebp - 0xa0]
sub eax, 0xd9ffeaff
je 0x410ab9
jmp 0x41066f
mov eax, dword [ebp - 0xa0]
sub eax, 0xda5e7cd0
je 0x41147a
jmp 0x410685
mov eax, dword [ebp - 0xa0]
sub eax, 0xdbcf4e5b
je 0x411193
jmp 0x41069b
mov eax, dword [ebp - 0xa0]
sub eax, 0xe5c6cd83
je 0x41159d
jmp 0x4106b1
mov eax, dword [ebp - 0xa0]
sub eax, 0xe8218113
je 0x410fdc
jmp 0x4106c7
mov eax, dword [ebp - 0xa0]
sub eax, 0xee4f421b
je 0x410eb5
jmp 0x4106dd
mov eax, dword [ebp - 0xa0]
sub eax, 0xef1ce528
je 0x410bb8
jmp 0x4106f3
mov eax, dword [ebp - 0xa0]
sub eax, 0xf4bbb497
je 0x41133a
jmp 0x410709
mov eax, dword [ebp - 0xa0]
sub eax, 0xf6bd88fc
je 0x4116d4
jmp 0x41071f
mov eax, dword [ebp - 0xa0]
sub eax, 0x39462c8
je 0x411577
jmp 0x410735
mov eax, dword [ebp - 0xa0]
sub eax, 0x7189ea0
je 0x41175f
jmp 0x41074b
mov eax, dword [ebp - 0xa0]
sub eax, 0xd00462c
je 0x4112f9
jmp 0x410761
mov eax, dword [ebp - 0xa0]
sub eax, 0xd455ad7
je 0x411586
jmp 0x410777
mov eax, dword [ebp - 0xa0]
sub eax, 0xf1e0254
je 0x411455
jmp 0x41078d
mov eax, dword [ebp - 0xa0]
sub eax, 0x10308037
je 0x410db3
jmp 0x4107a3
mov eax, dword [ebp - 0xa0]
sub eax, 0x152fdd6c
je 0x411078
jmp 0x4107b9
mov eax, dword [ebp - 0xa0]
sub eax, 0x1625dc88
je 0x411154
jmp 0x4107cf
mov eax, dword [ebp - 0xa0]
sub eax, 0x170d0dac
je 0x410c7b
jmp 0x4107e5
mov eax, dword [ebp - 0xa0]
sub eax, 0x1cb80533
je 0x411613
jmp 0x4107fb
mov eax, dword [ebp - 0xa0]
sub eax, 0x24602171
je 0x410cdb
jmp 0x410811
mov eax, dword [ebp - 0xa0]
sub eax, 0x28017e6d
je 0x411501
jmp 0x410827
mov eax, dword [ebp - 0xa0]
sub eax, 0x2ae1af25
je 0x411771
jmp 0x41083d
mov eax, dword [ebp - 0xa0]
sub eax, 0x2d80fcb9
je 0x410a22
jmp 0x410853
mov eax, dword [ebp - 0xa0]
sub eax, 0x3218557c
je 0x411009
jmp 0x410869
mov eax, dword [ebp - 0xa0]
sub eax, 0x35343c76
je 0x410fa7
jmp 0x41087f
mov eax, dword [ebp - 0xa0]
sub eax, 0x383571c7
je 0x4116b4
jmp 0x410895
mov eax, dword [ebp - 0xa0]
sub eax, 0x39d39dac
je 0x41174d
jmp 0x4108ab
mov eax, dword [ebp - 0xa0]
sub eax, 0x47f2b37d
je 0x411687
jmp 0x4108c1
mov eax, dword [ebp - 0xa0]
sub eax, 0x4a5580e5
je 0x411493
jmp 0x4108d7
mov eax, dword [ebp - 0xa0]
sub eax, 0x4ae7aa30
je 0x4116c5
jmp 0x4108ed
mov eax, dword [ebp - 0xa0]
sub eax, 0x50e71623
je 0x411799
jmp 0x410903
mov eax, dword [ebp - 0xa0]
sub eax, 0x56ea31bf
je 0x410c5d
jmp 0x410919
mov eax, dword [ebp - 0xa0]
sub eax, 0x6153b54f
je 0x410fc5
jmp 0x41092f
mov eax, dword [ebp - 0xa0]
sub eax, 0x61c28f24
je 0x411351
jmp 0x410945
mov eax, dword [ebp - 0xa0]
sub eax, 0x61ee94c4
je 0x411707
jmp 0x41095b
mov eax, dword [ebp - 0xa0]
sub eax, 0x657e0183
je 0x411145
jmp 0x410971
mov eax, dword [ebp - 0xa0]
sub eax, 0x68d2aaae
je 0x410b42
jmp 0x410987
mov eax, dword [ebp - 0xa0]
sub eax, 0x6a612045
je 0x410e40
jmp 0x41099d
mov eax, dword [ebp - 0xa0]
sub eax, 0x7240c2b6
je 0x4109ce
jmp 0x4109b3
mov eax, dword [ebp - 0xa0]
sub eax, 0x7fa3b6dd
je 0x4117a8
jmp 0x4109c9
jmp 0x4117d8
mov bl, byte [ebp - 0x92]
mov dh, byte [ebp - 0x91]
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, 0x4ae7aa30
mov ecx, 0x2d80fcb9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x4117d8
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
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
mov eax, dword [0x44257c]
mov ecx, dword [0x442578]
mov edx, eax
sub edx, 0x28425bbf
sub edx, 1
add edx, 0x28425bbf
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, 0x4ae7aa30
mov ecx, 0x81360ecd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x4117d8
mov dword [ebp - 0x98], 0xd9ffeaff
jmp 0x4117d8
mov ecx, dword [ebp - 0x9c]
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 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.0042bfb0
add esp, 0xc
mov dword [ebp - 0x98], 0x68d2aaae
jmp 0x4117d8
mov ecx, dword [0x44257c]
mov eax, dword [0x442578]
mov edx, ecx
add edx, 0xb1745e1e
sub edx, 1
sub edx, 0xb1745e1e
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, 0xf6bd88fc
mov ecx, 0xef1ce528
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x4117d8
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 eax, dword [ebp - 0x84]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x51], al
mov ecx, dword [0x44257c]
mov eax, dword [0x442578]
mov edx, ecx
sub edx, 0x58b2aa27
sub edx, 1
add edx, 0x58b2aa27
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, 0xf6bd88fc
mov ecx, 0x56ea31bf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x4117d8
mov dl, byte [ebp - 0x51]
mov eax, 0x170d0dac
mov ecx, 0x8240f517
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x4117d8
mov dword [ebp - 0x98], 0x383571c7
jmp 0x4117d8
mov eax, dword [0x44257c]
mov ecx, dword [0x442578]
mov edx, eax
add edx, 0xa09b71a8
sub edx, 1
sub edx, 0xa09b71a8
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, 0x61ee94c4
mov ecx, 0x24602171
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x4117d8
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 dword [ebp - 0x50], eax
mov ecx, dword [0x44257c]
mov eax, dword [0x442578]
mov edx, ecx
sub edx, 0x4cc0bade
sub edx, 1
add edx, 0x4cc0bade
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, 0x61ee94c4
mov ecx, 0xada29167
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x4117d8
mov dword [ebp - 0x98], 0x87337584
jmp 0x4117d8
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov dword [ebp - 0x98], 0x10308037
jmp 0x4117d8
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x84]
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 - 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 edx, dword [ebp - 0x78]
mov esi, 0xffffffff
mov eax, 0x9c6b8318
mov ecx, 0x6a612045
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x4117d8
mov dword [ebp - 0x98], 0x383571c7
jmp 0x4117d8
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x98], 0xd305d609
jmp 0x4117d8
mov eax, dword [ebp - 0x4c]
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 - 0x74]
mov dword [eax], ecx
mov dword [ebp - 0x98], 0xee4f421b
jmp 0x4117d8
mov ecx, dword [0x44257c]
mov eax, dword [0x442578]
mov edx, ecx
add edx, 0x387f2754
sub edx, 1
sub edx, 0x387f2754
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, 0x39d39dac
mov ecx, 0xc9f77d71
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x4117d8
mov eax, dword [ebp - 0x74]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x45], al
mov ecx, dword [0x44257c]
mov eax, dword [0x442578]
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, 0x39d39dac
mov ecx, 0x35343c76
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x4117d8
mov dl, byte [ebp - 0x45]
mov eax, 0x6153b54f
mov ecx, 0x3218557c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x4117d8
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x98], 0xe8218113
jmp 0x4117d8
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0xc253f6ed
jmp 0x4117d8
mov dword [ebp - 0x98], 0x383571c7
jmp 0x4117d8
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 ecx, eax
mov eax, dword [ebp - 0x70]
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 ecx, dword [ebp - 0x6c]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x3c]
add eax, 0xd5ebf55c
add eax, ecx
sub eax, 0xd5ebf55c
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x98], 0x152fdd6c
jmp 0x4117d8
mov ecx, dword [0x44257c]
mov eax, dword [0x442578]
mov edx, ecx
sub edx, 0x5c2259e7
sub edx, 1
add edx, 0x5c2259e7
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, 0x7189ea0
mov ecx, 0x943140ef
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x4117d8
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x3c], eax
mov eax, dword [0x44257c]
mov ecx, dword [0x442578]
mov edx, eax
add edx, 0xc99b0fec
sub edx, 1
sub edx, 0xc99b0fec
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, 0x7189ea0
mov ecx, 0x657e0183
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x4117d8
mov dword [ebp - 0x98], 0x1625dc88
jmp 0x4117d8
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov word [eax], 0
mov dword [ebp - 0x98], 0x95715fb2
jmp 0x4117d8
mov eax, dword [ebp - 0x64]
movzx eax, word [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x98], 0xdbcf4e5b
jmp 0x4117d8
mov eax, dword [ebp - 0x34]
movzx ecx, word [eax + 6]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x2d], al
mov dword [ebp - 0x98], 0xd0fc25e7
jmp 0x4117d8
mov dl, byte [ebp - 0x2d]
mov eax, 0xd455ad7
mov ecx, 0xaad95e55
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x4117d8
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
sub eax, 0xb479031c
add eax, 0x18
add eax, 0xb479031c
mov ecx, dword [ebp - 0x68]
mov ecx, dword [ecx]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x64]
movzx ecx, word [ecx]
imul ecx, ecx, 0x28
add eax, 0xb9e995f9
add eax, ecx
sub eax, 0xb9e995f9
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x98], 0x923c9d2b
jmp 0x4117d8
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x98], 0xd64fbc05
jmp 0x4117d8
mov eax, dword [0x44257c]
mov ecx, dword [0x442578]
mov edx, eax
sub edx, 0xa2b683ee
sub edx, 1
add edx, 0xa2b683ee
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, 0x2ae1af25
mov ecx, 0x8e2c386e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x4117d8
mov ecx, dword [ebp - 0x28]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x43ab61
call fcn.0042f8b0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x21], al
mov eax, dword [0x44257c]
mov ecx, dword [0x442578]
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, 0x2ae1af25
mov ecx, 0xd00462c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x4117d8
mov dl, byte [ebp - 0x21]
mov eax, 0xacbb237b
mov ecx, 0x89506ee8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x4117d8
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 - 0x20], eax
mov dword [ebp - 0x98], 0xf4bbb497
jmp 0x4117d8
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x98], 0x61c28f24
jmp 0x4117d8
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x1c]
add edx, 0x817eb25b
add edx, eax
sub edx, 0x817eb25b
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x20]
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, 0x520db8a6
add ecx, eax
sub ecx, 0x520db8a6
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.0042c110
add esp, 0xc
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
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, 0xa460c51a
add esi, eax
add esi, 0xa460c51a
mov eax, dword [ebp - 0x5c]
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 dword [ebp - 0x98], 0x89506ee8
jmp 0x4117d8
mov dword [ebp - 0x98], 0xf1e0254
jmp 0x4117d8
mov eax, dword [ebp - 0x64]
mov ax, word [eax]
add ax, 0xb7e6
add ax, 1
sub ax, 0xb7e6
mov word [ebp - 0x16], ax
mov dword [ebp - 0x98], 0xda5e7cd0
jmp 0x4117d8
mov eax, dword [ebp - 0x64]
mov cx, word [ebp - 0x16]
mov word [eax], cx
mov dword [ebp - 0x98], 0x4a5580e5
jmp 0x4117d8
mov ecx, dword [0x44257c]
mov eax, dword [0x442578]
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, 0x50e71623
mov ecx, 0x28017e6d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x4117d8
mov ecx, dword [0x44257c]
mov eax, dword [0x442578]
mov edx, ecx
add edx, 0x11f660eb
sub edx, 1
sub edx, 0x11f660eb
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, 0x50e71623
mov ecx, 0x39462c8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x4117d8
mov dword [ebp - 0x98], 0x95715fb2
jmp 0x4117d8
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x98], 0xe5c6cd83
jmp 0x4117d8
mov ecx, dword [0x44257c]
mov eax, dword [0x442578]
mov edx, ecx
sub edx, 0x43ba2ba7
sub edx, 1
add edx, 0x43ba2ba7
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, 0x7fa3b6dd
mov ecx, 0x1cb80533
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x4117d8
mov eax, dword [ebp - 0x14]
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 eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov eax, dword [0x44257c]
mov ecx, dword [0x442578]
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, 0x7fa3b6dd
mov ecx, 0x47f2b37d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x4117d8
mov dword [ebp - 0x98], 0xd7ecea74
jmp 0x4117d8
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0x383571c7
jmp 0x4117d8
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0042b2c0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x98], 0x2d80fcb9
jmp 0x4117d8
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 eax, dword [ebp - 0x84]
mov dword [ebp - 0x98], 0xef1ce528
jmp 0x4117d8
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 dword [ebp - 0x98], 0x24602171
jmp 0x4117d8
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x98], 0xc9f77d71
jmp 0x4117d8
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x98], 0x943140ef
jmp 0x4117d8
mov ecx, dword [ebp - 0x28]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x43ab61
call fcn.0042f8b0
add esp, 8
mov dword [ebp - 0x98], 0x8e2c386e
jmp 0x4117d8
mov dword [ebp - 0x98], 0x28017e6d
jmp 0x4117d8
mov eax, dword [ebp - 0x14]
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 eax, dword [ebp - 0x8c]
mov dword [ebp - 0x98], 0x1cb80533
jmp 0x4104c7