Function at 0x100635e0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
mov eax, dword [0x1019a06c]
xor eax, esp
mov dword [esp + 0x28], eax
push ebx
push esi
mov dword [esp + 0x28], 0
cmp dword [0x10242004], 1
push edi
jne 0x1006361f
push 0x100635c0
push 0x66271f
push 0xe9
call fcn.100bfb10
add esp, 0xc
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [esp + 0x30]
push eax
push 0x40
push 1
push 0x8553d0
call esi
lea eax, [esp + 0x30]
mov byte [0x8553d0], 0xc3
push eax
push dword [esp + 0x34]
push 1
push 0x8553d0
call esi
lea eax, [esp + 0x30]
push eax
push 0x40
push 1
push 0x59a8d0
call esi
lea eax, [esp + 0x30]
mov byte [0x59a8d0], 0xeb
push eax
push dword [esp + 0x34]
push 1
push 0x59a8d0
call esi
lea eax, [esp + 0x30]
push eax
push 0x40
push 5
push 0x792b7f
call esi
mov eax, 0x792b7f
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x34]
push 5
push 0x792b7f
call esi
mov ecx, 0x10241d5b
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100636b0
sub ecx, edx
je 0x1006372a
push ecx
push 0x10241d5b
lea ecx, [esp + 0x1c]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0xf
mov byte [esp + 0x1c], al
call fcn.1000db00
mov dword [esp + 0x2c], 1
lea edx, [esp + 0x14]
mov ebx, dword [esp + 0x28]
cmp ebx, 0x10
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
cmovae edx, ecx
test eax, eax
je 0x10063732
lea edi, [eax + edx]
mov eax, edx
cmp edx, edi
jae 0x10063732
nop dword [eax]
cmp byte [eax], 0x20
jne 0x1006371c
inc eax
cmp eax, edi
jb 0x10063710
jmp 0x10063732
sub eax, edx
cmp eax, 0xffffffff
je 0x10063732
mov byte [esp + 0x13], 0
jmp 0x10063737
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
test byte [esp + 0x2c], 1
je 0x1006376e
cmp ebx, 0x10
jb 0x1006376e
lea edx, [ebx + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x10063764
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10064493
push edx
push ecx
call fcn.100e3844
add esp, 8
cmp byte [esp + 0x13], 0
je 0x10063795
cmp byte [0x10242127], 0
jne 0x10063795
push 0x1002f5b0
push 0x63764c
push 0xe9
call fcn.100bfb10
add esp, 0xc
push 0x82a9f3
push 0x82a983
push 0xe9
call fcn.100bfb10
push 0x82a9f3
push 0x82a983
push 0xe9
call fcn.100bfb10
add esp, 0x18
cmp dword [0x1024200c], 1
jne 0x100637e0
push 0x10063580
push 0x78f56e
push 0xe9
call fcn.100bfb10
add esp, 0xc
push 0x1004cf60
push 0x4d92e2
push 0xe8
call fcn.100bfb10
push fcn.1004d510
push 0x95e310
push 0xe8
call fcn.100bfb10
push fcn.1004d510
push 0x95e6eb
push 0xe8
call fcn.100bfb10
add esp, 0x24
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x649e27
call esi
lea eax, [esp + 0x2c]
mov byte [0x649e27], 0xe
push eax
push dword [esp + 0x30]
push 1
push 0x649e27
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x556c38
call esi
lea eax, [esp + 0x2c]
mov byte [0x556c38], 2
push eax
push dword [esp + 0x30]
push 1
push 0x556c38
call esi
push 0x18
call fcn.100e3b3e
movaps xmm0, xmmword [0x1018dab0]
mov edx, eax
push 0x18
mov ecx, 0x77eecd
movups xmmword [eax], xmm0
movq qword [eax + 0x10], xmm0
call fcn.100bf160
push 0x5db408
push 0x5db322
push 0xe9
call fcn.100bfb10
push 0x58811f
push 0x5880f0
push 0xe9
call fcn.100bfb10
add esp, 0x20
lea eax, [esp + 0x2c]
push eax
push 0x40
push 4
push 0x588447
call esi
lea eax, [esp + 0x2c]
mov dword [0x588447], 0xfff
push eax
push dword [esp + 0x30]
push 4
push 0x588447
call esi
push 0x59b00e
push 0x59affa
push 0xe8
call fcn.100bfb10
push 0x95dfd3
push 0x95dfbe
push 0xe9
call fcn.100bfb10
push 0x720894
push 0x71ae92
push 0xe9
call fcn.100bfb10
push 0x720894
push 0x71b1a3
push 0xe9
call fcn.100bfb10
push 0x644537
push 0x64452a
push 0xe9
call fcn.100bfb10
add esp, 0x3c
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x4d128f
call esi
lea eax, [esp + 0x2c]
mov byte [0x4d128f], 0x1d
push eax
push dword [esp + 0x30]
push 1
push 0x4d128f
call esi
movzx edi, word [0x10241fa0]
lea eax, [esp + 0x2c]
push eax
push 0x40
push 2
push 0x405b7c
call esi
lea eax, [esp + 0x2c]
mov word [0x405b7c], di
push eax
push dword [esp + 0x30]
push 2
push 0x405b7c
call esi
movzx edi, word [0x10241fa0]
lea eax, [esp + 0x2c]
push eax
push 0x40
push 2
push 0x40cc40
call esi
lea eax, [esp + 0x2c]
mov word [0x40cc40], di
push eax
push dword [esp + 0x30]
push 2
push 0x40cc40
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 4
push 0x5b57ed
call esi
lea eax, [esp + 0x2c]
mov dword [0x5b57ed], 0x400
push eax
push dword [esp + 0x30]
push 4
push 0x5b57ed
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 4
push 0x589dbe
call esi
lea eax, [esp + 0x2c]
mov dword [0x589dbe], 0x400
push eax
push dword [esp + 0x30]
push 4
push 0x589dbe
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 4
push 0x4d2cb2
call esi
lea eax, [esp + 0x2c]
mov dword [0x4d2cb2], 0x3800
push eax
push dword [esp + 0x30]
push 4
push 0x4d2cb2
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 4
push 0x4d2d9c
call esi
lea eax, [esp + 0x2c]
mov dword [0x4d2d9c], 0x3800
push eax
push dword [esp + 0x30]
push 4
push 0x4d2d9c
call esi
mov eax, dword [0x1024209c]
dec eax
cmp eax, 3
ja case.default.0x10063a9b
jmp dword [eax*4 + 0x10064498]
push 3
push 0x1018a624
lea ecx, [esp + 0x1c]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0xf
mov byte [esp + 0x1c], 0
call fcn.1000db00
lea eax, [esp + 0x14]
push eax
call fcn.100634a0
mov edx, dword [esp + 0x28]
movzx ebx, ax
cmp edx, 0x10
jb 0x10063c5d
mov ecx, dword [esp + 0x14]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10063b04
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10064493
push edx
push ecx
call fcn.100e3844
add esp, 8
jmp 0x10063c5d
push 3
push 0x1018a628
lea ecx, [esp + 0x1c]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0xf
mov byte [esp + 0x1c], 0
call fcn.1000db00
lea eax, [esp + 0x14]
push eax
call fcn.100634a0
mov edx, dword [esp + 0x28]
movzx ebx, ax
cmp edx, 0x10
jb 0x10063c5d
mov ecx, dword [esp + 0x14]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10063b75
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10064493
push edx
push ecx
call fcn.100e3844
add esp, 8
jmp 0x10063c5d
push 3
push 0x1018a62c
lea ecx, [esp + 0x1c]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0xf
mov byte [esp + 0x1c], 0
call fcn.1000db00
lea eax, [esp + 0x14]
push eax
call fcn.100634a0
mov edx, dword [esp + 0x28]
movzx ebx, ax
cmp edx, 0x10
jb 0x10063c5d
mov ecx, dword [esp + 0x14]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10063be6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10064493
push edx
push ecx
call fcn.100e3844
add esp, 8
jmp 0x10063c5d
push 3
push 0x1018a630
lea ecx, [esp + 0x1c]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0xf
mov byte [esp + 0x1c], 0
call fcn.1000db00
lea eax, [esp + 0x14]
push eax
call fcn.100634a0
mov edx, dword [esp + 0x28]
movzx ebx, ax
cmp edx, 0x10
jb 0x10063c5d
mov ecx, dword [esp + 0x14]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10063b04
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10064493
jmp 0x10063b04
mov ebx, dword [esp + 0x2c]
cmp dword [0x1024209c], 1
jb 0x100641da
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x958d4f
call esi
lea eax, [esp + 0x2c]
mov byte [0x958d4f], bl
push eax
push dword [esp + 0x30]
push 1
push 0x958d4f
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x958d50
call esi
lea eax, [esp + 0x2c]
mov byte [0x958d50], 3
push eax
push dword [esp + 0x30]
push 1
push 0x958d50
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x959036
call esi
lea eax, [esp + 0x2c]
mov byte [0x959036], 0
push eax
push dword [esp + 0x30]
push 1
push 0x959036
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x95903a
call esi
lea eax, [esp + 0x2c]
mov byte [0x95903a], bl
push eax
push dword [esp + 0x30]
push 1
push 0x95903a
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x95903b
call esi
lea eax, [esp + 0x2c]
mov byte [0x95903b], 3
push eax
push dword [esp + 0x30]
push 1
push 0x95903b
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x787041
call esi
lea eax, [esp + 0x2c]
mov byte [0x787041], bl
push eax
push dword [esp + 0x30]
push 1
push 0x787041
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x787042
call esi
lea eax, [esp + 0x2c]
mov byte [0x787042], 3
push eax
push dword [esp + 0x30]
push 1
push 0x787042
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x4215c2
call esi
lea eax, [esp + 0x2c]
mov byte [0x4215c2], 0
push eax
push dword [esp + 0x30]
push 1
push 0x4215c2
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x78b410
call esi
lea eax, [esp + 0x2c]
mov byte [0x78b410], bl
push eax
push dword [esp + 0x30]
push 1
push 0x78b410
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x78b411
call esi
lea eax, [esp + 0x2c]
mov byte [0x78b411], 3
push eax
push dword [esp + 0x30]
push 1
push 0x78b411
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x78b46b
call esi
lea eax, [esp + 0x2c]
mov byte [0x78b46b], bl
push eax
push dword [esp + 0x30]
push 1
push 0x78b46b
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x78b46c
call esi
lea eax, [esp + 0x2c]
mov byte [0x78b46c], 3
push eax
push dword [esp + 0x30]
push 1
push 0x78b46c
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x48d621
call esi
lea eax, [esp + 0x2c]
mov byte [0x48d621], bl
push eax
push dword [esp + 0x30]
push 1
push 0x48d621
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x48d622
call esi
lea eax, [esp + 0x2c]
mov byte [0x48d622], 3
push eax
push dword [esp + 0x30]
push 1
push 0x48d622
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x4918c9
call esi
lea eax, [esp + 0x2c]
mov byte [0x4918c9], bl
push eax
push dword [esp + 0x30]
push 1
push 0x4918c9
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x4918ca
call esi
lea eax, [esp + 0x2c]
mov byte [0x4918ca], 3
push eax
push dword [esp + 0x30]
push 1
push 0x4918ca
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x4918ea
call esi
lea eax, [esp + 0x2c]
mov byte [0x4918ea], bl
push eax
push dword [esp + 0x30]
push 1
push 0x4918ea
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x4918eb
call esi
lea eax, [esp + 0x2c]
mov byte [0x4918eb], 3
push eax
push dword [esp + 0x30]
push 1
push 0x4918eb
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x786d31
call esi
lea eax, [esp + 0x2c]
mov byte [0x786d31], bl
push eax
push dword [esp + 0x30]
push 1
push 0x786d31
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x786d32
call esi
lea eax, [esp + 0x2c]
mov byte [0x786d32], 3
push eax
push dword [esp + 0x30]
push 1
push 0x786d32
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x786d31
call esi
lea eax, [esp + 0x2c]
mov byte [0x786d31], bl
push eax
push dword [esp + 0x30]
push 1
push 0x786d31
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x786d32
call esi
lea eax, [esp + 0x2c]
mov byte [0x786d32], 3
push eax
push dword [esp + 0x30]
push 1
push 0x786d32
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x787041
call esi
lea eax, [esp + 0x2c]
mov byte [0x787041], bl
push eax
push dword [esp + 0x30]
push 1
push 0x787041
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x787042
call esi
lea eax, [esp + 0x2c]
mov byte [0x787042], 3
push eax
push dword [esp + 0x30]
push 1
push 0x787042
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x78b410
call esi
lea eax, [esp + 0x2c]
mov byte [0x78b410], bl
push eax
push dword [esp + 0x30]
push 1
push 0x78b410
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x78b411
call esi
lea eax, [esp + 0x2c]
mov byte [0x78b411], 3
push eax
push dword [esp + 0x30]
push 1
push 0x78b411
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x78b46b
call esi
lea eax, [esp + 0x2c]
mov byte [0x78b46b], bl
push eax
push dword [esp + 0x30]
push 1
push 0x78b46b
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x78b46c
call esi
lea eax, [esp + 0x2c]
mov byte [0x78b46c], 3
push eax
push dword [esp + 0x30]
push 1
push 0x78b46c
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x840e76
call esi
lea eax, [esp + 0x2c]
mov byte [0x840e76], bl
push eax
push dword [esp + 0x30]
push 1
push 0x840e76
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x840e77
call esi
lea eax, [esp + 0x2c]
mov byte [0x840e77], 3
push eax
push dword [esp + 0x30]
push 1
push 0x840e77
call esi
cmp dword [0x10241fd4], 1
jne 0x100641da
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x9591d3
call esi
lea eax, [esp + 0x2c]
mov byte [0x9591d3], 0x58
push eax
push dword [esp + 0x30]
push 1
push 0x9591d3
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x9591d4
call esi
lea eax, [esp + 0x2c]
mov byte [0x9591d4], 0xfc
push eax
push dword [esp + 0x30]
push 1
push 0x9591d4
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x9591d8
call esi
lea eax, [esp + 0x2c]
mov byte [0x9591d8], bl
push eax
push dword [esp + 0x30]
push 1
push 0x9591d8
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x9591d9
call esi
lea eax, [esp + 0x2c]
mov byte [0x9591d9], 3
push eax
push dword [esp + 0x30]
push 1
push 0x9591d9
call esi
cmp dword [0x10241fd0], 1
jne 0x1006420c
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x4215a7
call esi
lea eax, [esp + 0x2c]
mov byte [0x4215a7], 0xeb
push eax
push dword [esp + 0x30]
push 1
push 0x4215a7
call esi
cmp dword [0x10241fd4], 1
jne 0x1006423e
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x507aeb
call esi
lea eax, [esp + 0x2c]
mov byte [0x507aeb], 0x72
push eax
push dword [esp + 0x30]
push 1
push 0x507aeb
call esi
cmp dword [0x10241fd8], 1
jne 0x10064270
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x507afd
call esi
lea eax, [esp + 0x2c]
mov byte [0x507afd], 0xeb
push eax
push dword [esp + 0x30]
push 1
push 0x507afd
call esi
cmp dword [0x10242000], 1
jne 0x10064456
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x501957
call esi
lea eax, [esp + 0x2c]
mov byte [0x501957], 0
push eax
push dword [esp + 0x30]
push 1
push 0x501957
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 6
push 0x54eae1
call esi
mov eax, 0x54eae1
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x30]
push 6
push 0x54eae1
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 6
push 0x54fc92
call esi
mov eax, 0x54fc92
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x30]
push 6
push 0x54fc92
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x50226b
call esi
lea eax, [esp + 0x2c]
mov byte [0x50226b], 0
push eax
push dword [esp + 0x30]
push 1
push 0x50226b
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 6
push 0x54eca3
call esi
mov eax, 0x54eca3
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x30]
push 6
push 0x54eca3
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 6
push 0x54fcec
call esi
mov ecx, 0x90909090
mov eax, 0x54fcec
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x30]
push 6
push 0x54fcec
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 1
push 0x502c4d
call esi
lea eax, [esp + 0x2c]
mov byte [0x502c4d], 0
push eax
push dword [esp + 0x30]
push 1
push 0x502c4d
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 6
push 0x54ed6d
call esi
mov eax, 0x54ed6d
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x30]
push 6
push 0x54ed6d
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 6
push 0x54fd5f
call esi
mov eax, 0x54fd5f
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x30]
push 6
push 0x54fd5f
call esi
lea eax, [esp + 0x2c]
push eax
push 0x40
push 6
push 0x54fe3e
call esi
mov eax, 0x54fe3e
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x30]
push 6
push 0x54fe3e
call esi
push 0x100644b0
push 0x614aef
push 0xe8
call fcn.100bfb10
push 0x100644b0
push 0x772460
push 0xe8
call fcn.100bfb10
mov ecx, dword [esp + 0x4c]
add esp, 0x18
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100e34d0
mov esp, ebp
pop ebp
ret
call fcn.1013a639
mov byte [0x1310063a], al
cmp eax, dword [esi]
adc byte [ebx + edi + 0x3bf21006], al
push es
adc ah, cl
int3