Function at 0x10034590
Capabilities:
Execute shellcode via indirect call
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, 0x3c
push ebx
push esi
push edi
lea edx, [eax + 2]
xor edi, edi
mov ax, word [eax]
mov esi, 2
mov dword [ebp - 8], edx
mov word [0x100ce808], ax
mov dword [ebp - 0xc], edi
nop word [eax + eax]
mov eax, dword [0x100ce800]
mov dword [ecx + eax], edi
add ecx, 4
cmp ecx, 0x84
jl 0x10034410
mov al, byte [edx]
test al, al
je 0x10034549
lea ebx, [ebp + 0xc]
lea ecx, [ebp + 8]
sub ebx, 8
movsx eax, al
add eax, 0xffffff9a
cmp eax, 0x14
ja case.0x1003444c.103
movzx eax, byte [eax + 0x100345a8]
jmp dword [eax*4 + 0x10034590]
mov eax, dword [ecx + 4]
add ecx, 4
mov byte [esi + 0x100ce808], 1
add ebx, 4
mov dword [esi + 0x100ce809], eax
add esi, 5
jmp 0x1003453a
movsd xmm0, qword [ebx + 8]
add ebx, 8
cvtpd2ps xmm0, xmm0
mov byte [esi + 0x100ce808], 6
add ecx, 8
movss dword [ebp - 8], xmm0
mov eax, dword [ebp - 8]
mov dword [esi + 0x100ce809], eax
add esi, 5
jmp 0x1003453a
mov eax, dword [0x100ce800]
add ecx, 4
movzx edx, di
add ebx, 4
mov dword [ebp - 4], ecx
mov byte [esi + 0x100ce808], 3
mov ecx, dword [ecx]
mov dword [edx*4 + 0x100ce908], ecx
mov ecx, dword [ecx]
mov dword [eax + edx*4 + 0x3c], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov word [esi + 0x100ce809], di
inc edi
mov dword [ebp - 0xc], edi
add esi, 3
jmp 0x1003453a
mov edx, dword [ecx + 4]
add ebx, 4
add ecx, 4
mov dword [ebp - 4], ecx
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100344f0
sub ecx, edi
mov byte [esi + 0x100ce808], 0xe
mov byte [esi + 0x100ce809], cl
lea edi, [esi + 2]
movzx esi, cl
lea eax, [edi + 0x100ce808]
push esi
push edx
push eax
call fcn.1005a400
mov ecx, dword [ebp - 4]
add esp, 0xc
mov edx, dword [ebp - 8]
add esi, edi
mov edi, dword [ebp - 0xc]
jmp 0x1003453a
cmp esi, 0xff
jae 0x10034589
mov byte [esi + 0x100ce808], 0
inc esi
mov al, byte [edx + 1]
inc edx
mov dword [ebp - 8], edx
test al, al
jne 0x10034436
call fcn.10034390
mov ebx, eax
test di, di
je 0x10034577
movzx esi, di
xor edx, edx
test esi, esi
je 0x10034577
nop
mov eax, dword [0x100ce800]
mov ecx, dword [edx*4 + 0x100ce908]
mov eax, dword [eax + edx*4 + 0x3c]
inc edx
mov dword [ecx], eax
cmp edx, esi
jl 0x10034560
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.100596c2
nop
jno 0x100345d6
add edx, dword [eax]
push ebx
inc esp
add edx, dword [eax]
fiadd dword [ebx + eax + 0x10]
popfd
inc esp
add edx, dword [eax]
sub al, byte [ebp + 3]
adc byte [eax + 1049413], al
add eax, 0x5050105
add eax, 84215045
add eax, 84214277
add eax, dword [-872151803]
int3
add eax, dword [eax]
add byte [ebx + 0x217401f8], al
cmp eax, 4
je 0x100345ff
push 0
push 0x10085990
push str.Unsupported_GTA:SA_n
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, esi
mov dword [ebp - 0xc], 0
xorps xmm0, xmm0
mov dword [ebp - 8], 0
movups xmmword [ebp - 0x1c], xmm0
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10034620
push ebx
push edi
sub eax, edx
lea ecx, [ebp - 0x1c]
push eax
push esi
call fcn.10004870
mov ecx, 0x100acdf4
call fcn.10004e50
mov esi, dword [0x1017e5d0]
mov ebx, 0x10034730
movups xmm0, xmmword [ebp - 0x1c]
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
sub ebx, esi
sub ebx, 0xf
mov dword [ebp - 0x14], 0xd8964
mov eax, ebx
mov dword [ebp - 0x10], 0x83000000
sar eax, 8
movups xmmword [0x100acdf4], xmm0
movq xmm0, qword [ebp - 0xc]
mov byte [ebp - 8], al
mov eax, ebx
sar eax, 0x10
mov byte [ebp - 7], al
lea eax, [ebp - 0x24]
push eax
push 0x40
push 0xf
mov byte [ebp - 9], bl
push esi
movq qword [0x100ace04], xmm0
mov word [ebp - 0xc], 0x10c4
mov byte [ebp - 0xa], 0xe9
sar ebx, 0x18
call edi
movq xmm0, qword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
movq qword [esi], xmm0
mov dword [esi + 8], eax
mov ax, word [ebp - 8]
mov word [esi + 0xc], ax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x24]
mov byte [esi + 0xe], bl
push 0xf
push esi
call edi
mov esi, dword [0x1017e5d4]
lea eax, [ebp - 0x24]
push eax
push 0x40
push 5
push esi
call edi
mov dword [esi], 0x90909090
mov byte [esi + 4], 0x90
mov eax, dword [0x1017e5d8]
mov dword [eax], 0x100ce950
lea eax, [ebp - 0x24]
mov esi, dword [0x1017e5dc]
push eax
push 0x40
push 5
push esi
call edi
mov ecx, dword [ebp - 4]
mov dword [esi], 0x90909090
xor ecx, ebp
mov byte [esi + 4], 0x90
mov eax, dword [0x1017e5e0]
pop edi
pop ebx
pop esi
mov dword [eax], 0x100ce950
call fcn.10058f9b
mov esp, ebp
pop ebp
ret