Function at 0x426bb0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Get file size
Read file on windows
Write file on windows

Disassembly:
mov eax, 0x21b0
call fcn.004564f0
push ebx
push ebp
push esi
push edi
push str.CRasModule::ProcessPhoneBook___Begin_n
push 1
mov esi, ecx
push 2
call fcn.004048e0
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0xc8]
add esp, 0xc
rep stosd dword es:[edi], eax
lea eax, [esp + 0xbc]
mov ecx, esi
push eax
call fcn.00426a40
lea edi, [esp + 0xbc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x426e62
mov ecx, 0x22
lea edi, [esp + 0x34]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x34]
push 0x12
lea edx, [esp + 0xc0]
push ecx
push edx
mov byte [esp + 0x40], 0x88
call dword [sym.imp.KERNEL32.dll_OpenFile]
mov ebx, eax
cmp ebx, 0xffffffff
mov dword [esp + 0x24], ebx
je 0x426e62
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebp, dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edi, eax
push 0x40
push 0x1000
push edi
push 0
mov dword [esp + 0x3c], edi
call ebp
mov esi, eax
test esi, esi
mov dword [esp + 0x20], esi
je 0x426e62
lea eax, [esp + 0x1c]
push 0
push eax
push edi
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
add edi, 0x400
push 0x40
push 0x1000
push edi
push 0
mov dword [esp + 0x38], edi
call ebp
mov edx, eax
test edx, edx
mov dword [esp + 0x30], edx
je 0x426e62
mov ecx, edi
xor eax, eax
mov ebx, ecx
mov edi, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ebp, dword [sym.imp.MSVCRT.dll_strstr]
mov ecx, ebx
and ecx, 3
mov dword [esp + 0x10], edx
rep stosb byte es:[edi], al
mov edi, esi
jmp 0x426cc8
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
push 0x475f84
push edi
call ebp
inc edi
push 0x475f84
push edi
mov ebx, eax
call ebp
mov edx, eax
add esp, 0x10
test edx, edx
jne 0x426cf8
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x14], eax
mov edx, ecx
add edx, esi
jmp 0x426cfc
mov dword [esp + 0x14], edx
mov ecx, 0x800
xor eax, eax
lea edi, [esp + 0x1c0]
mov esi, ebx
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [esp + 0x1c0]
sub ecx, ebx
lea eax, [esp + 0x1c0]
mov dword [esp + 0x18], ecx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
je 0x426de1
lea ecx, [esp + 0x1c0]
push str.DeviceNovatel_Wireless_CDMA_1.9GHz_Modem
push ecx
call ebp
add esp, 8
test eax, eax
je 0x426dbf
push str.NegotiateMultilinkAlways
push ebx
call ebp
add esp, 8
test eax, eax
je 0x426d68
mov dl, byte [0x475f38]
mov byte [eax + 0x19], dl
push str.ShowMonitorIconInTaskBar
push ebx
call ebp
add esp, 8
test eax, eax
je 0x426d80
mov cl, byte [0x475f38]
mov byte [eax + 0x19], cl
push str.HwFlowControl
push ebx
call ebp
add esp, 8
test eax, eax
je 0x426da7
push str.Compression
push eax
call ebp
add esp, 8
test eax, eax
je 0x426da7
mov dl, byte [0x475f38]
mov byte [eax + 0xc], dl
push str.Speaker
push ebx
call ebp
add esp, 8
test eax, eax
je 0x426dbf
mov cl, byte [0x475f38]
mov byte [eax + 8], cl
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov ecx, edx
mov esi, ebx
mov ebx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
add eax, edx
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x426cc0
mov ebp, dword [esp + 0x24]
push 0
push 0
push 0
push ebp
mov dword [esp + 0x2c], 0
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ebx, dword [esp + 0x30]
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
lea edx, [esp + 0x1c]
push 0
dec ecx
push edx
push ecx
push ebx
push ebp
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
mov esi, dword [sym.imp.KERNEL32.dll_VirtualFree]
push 0x8000
push eax
push ecx
call esi
mov edx, dword [esp + 0x28]
push 0x8000
push edx
push ebx
call esi
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.CRasModule::ProcessPhoneBook___End_n
push 1
push 2
call fcn.004048e0
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x21b0
ret