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

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
cmp byte [0x1017300e], 0
push ebx
push esi
mov ebx, ecx
push edi
mov dword [ebp - 8], ebx
jne 0x10075f6e
mov ebx, dword [0x1017303c]
cmp dword [0x1030dfc4], ebx
je 0x10075f6c
mov esi, dword [0x1030aa08]
test esi, esi
je 0x10075f32
inc esi
jmp 0x10075f34
xor esi, esi
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 4]
push eax
push 0x40
push 4
push esi
add ebx, 3
mov dword [ebp - 4], 0
call edi
lea eax, [ebp - 4]
mov dword [esi], ebx
push eax
push dword [ebp - 4]
push 4
push esi
call edi
mov eax, dword [0x1017303c]
mov ebx, dword [ebp - 8]
mov dword [0x1030dfc4], eax
jmp 0x10075f6e
mov ebx, ecx
mov eax, dword [0x1030a0cc]
test eax, eax
je 0x10075f82
mov al, byte [eax + 0x20]
test al, al
jne 0x1007618a
mov eax, dword [0x1030a274]
test al, 1
jne 0x10075f9f
or eax, 1
mov dword [0x1030a274], eax
mov eax, dword [0x1030a250]
mov dword [0x1030a270], eax
jmp 0x10075fa4
mov eax, dword [0x1030a270]
mov ecx, dword [0x10173080]
test byte [eax + ecx], 0x40
jne 0x1007618a
mov eax, dword [0x102fed68]
mov esi, dword [eax + ecx]
test esi, esi
je 0x10076016
mov eax, dword [0x1030e17c]
cmp byte [eax + 0x2c], 0
je 0x10075fd1
cmp byte [eax + 0x2d], 0
jne 0x10076008
mov ecx, dword [0x1030e180]
call fcn.10070360
test al, al
jne 0x10076008
cmp byte [esi + 0x109], al
jne 0x10076008
mov eax, dword [0x1030e17c]
cmp byte [eax + 0x18], 0
jne 0x10075fff
cmp byte [eax + 0x19], 0
je 0x10075fff
cmp dword [eax + 0x1c], 0
jle 0x10076008
cmp byte [0x103044c8], 0
jne 0x10076016
mov ecx, ebx
call fcn.10075b90
mov esi, eax
jmp 0x1007610e
mov ecx, ebx
call fcn.10075b90
mov ecx, dword [0x1030af44]
mov edi, eax
movzx esi, byte [0x103044ac]
mov eax, dword [0x1030ac74]
test cl, 1
jne 0x10076049
or ecx, 1
mov edx, eax
mov dword [0x1030af44], ecx
mov dword [0x1030af40], edx
jmp 0x1007604f
mov edx, dword [0x1030af40]
test cl, 1
jne 0x10076065
or ecx, 1
mov edx, eax
mov dword [0x1030af44], ecx
mov dword [0x1030af40], edx
mov eax, dword [0x10173080]
movss xmm0, dword [edx + eax]
movss xmm1, dword [edx + eax + 4]
mov eax, dword [0x103044d0]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [0x101466d8]
comiss xmm0, xmm1
seta cl
test al, 1
je 0x1007609c
test cl, cl
jne 0x100760cb
test al, 2
je 0x100760b8
test cl, cl
jne 0x100760b8
mov ecx, dword [0x1030e164]
call fcn.100849f0
test al, al
jne 0x100760cb
mov eax, dword [0x103044d0]
test al, 4
je 0x100760cd
mov ecx, dword [0x1030e164]
call fcn.100849f0
test al, al
jne 0x100760cd
mov esi, edi
mov ecx, dword [0x1030e164]
call fcn.100849f0
test al, al
jne 0x1007610e
cmp byte [0x103044c9], al
je 0x1007610e
mov eax, dword [0x1030a054]
lea ecx, [edi + 1]
mov ebx, dword [eax + 0x1c]
mov eax, dword [0x1030dfc0]
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jle 0x1007610c
mov esi, 1
mov dword [0x1030dfc0], ebx
jmp 0x1007610e
mov esi, edi
mov eax, dword [0x1030e17c]
cmp byte [eax + 0x2c], 0
je 0x1007616c
cmp byte [eax + 0x2d], 0
je 0x1007616c
mov bl, 1
mov cl, byte [0x10173014]
cmp byte [eax + 0x18], 0
jne 0x1007618a
test esi, esi
je 0x1007618a
test bl, bl
jne 0x10076148
test cl, cl
je 0x10076148
mov ecx, dword [0x1030e180]
call fcn.10070360
test al, al
je 0x1007618a
mov eax, dword [0x10173090]
mov byte [eax], 0
mov eax, dword [0x1030a0ac]
cmp dword [eax + 0x4d30], esi
jl 0x10076197
mov eax, dword [0x10173090]
pop edi
pop esi
pop ebx
mov byte [eax], 1
mov esp, ebp
pop ebp
ret
xor bl, bl
cmp byte [0x103044d4], bl
jne 0x10076121
mov ecx, dword [0x1030e164]
call fcn.100846e0
mov cl, al
mov eax, dword [0x1030e17c]
jmp 0x10076127
mov eax, dword [0x10173090]
cmp byte [eax], 0
jne 0x10076197
mov byte [eax], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret