Function at 0x10003830
Capabilities:
Get routing table

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff8
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
lea esi, [ebp - 0x20]
push ebx
push ecx
sub esp, 0x44
mov eax, dword [ecx]
mov dword [ebp - 0x20], 0
mov ebx, dword [sym.imp.iphlpapi.dll_GetIpForwardTable]
mov dword [ebp - 0x24], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x34], eax
mov dword [esp + 8], 1
mov dword [esp + 4], esi
mov dword [esp], 0
call ebx
sub esp, 0xc
cmp eax, 0x7a
jne 0x10003a56
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
mov dword [ebp - 0x30], eax
test eax, eax
je 0x10003a56
mov dword [esp + 8], 1
mov dword [esp + 4], esi
mov dword [esp], eax
call ebx
mov dword [ebp - 0x28], eax
sub esp, 0xc
test eax, eax
jne 0x10003a4a
mov edi, dword [ebp - 0x30]
mov eax, 1
mov ecx, 0xc
mov edx, dword [edi]
test edx, edx
cmove edx, eax
mov eax, dword [ebp - 0x24]
call sym._resize_table
test eax, eax
je 0x10003a4a
mov ecx, dword [edi]
xor edx, edx
test ecx, ecx
je 0x100039d3
mov edx, dword [ebp - 0x34]
xor eax, eax
test edx, edx
setne al
xor ecx, ecx
xor edi, edi
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], ecx
lea ebx, [eax + 4]
mov esi, ebx
jmp 0x10003930
mov eax, dword [ebp - 0x18]
or eax, dword [ebp - 0x14]
je 0x10003a40
mov eax, dword [ebp - 0x30]
add dword [ebp - 0x28], 0xc
add edi, 1
add esi, 0x38
add dword [ebp - 0x2c], 1
mov edx, dword [ebp - 0x38]
cmp edi, dword [eax]
jae 0x100039d0
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x28]
add ebx, dword [eax + 0x14]
mov eax, dword [esi]
mov dword [esp], eax
call dword [sym.imp.ws2_32.dll_ntohl]
sub esp, 4
call sym._get_ip4_string
mov dword [ebx], eax
mov eax, dword [esi + 0x10]
mov dword [ebx + 4], eax
mov eax, dword [esi + 0xc]
mov dword [esp], eax
call dword [sym.imp.ws2_32.dll_ntohl]
sub esp, 4
call sym._get_ip4_string
mov ecx, dword [ebp - 0x34]
mov dword [ebx + 8], eax
test ecx, ecx
je 0x10003914
lea edx, [ebp - 0x1c]
lea eax, [ebp - 0x18]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x2c]
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._eval_cond
mov edx, 0xffffffff
test eax, eax
je 0x10003908
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x3c], edx
add edi, 1
add esi, 0x38
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._free_row_values
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x3c]
cmp edi, dword [eax]
jb 0x10003930
lea esi, [esi]
mov ecx, dword [ebp - 0x2c]
test byte [0x1002179c], 8
jne 0x10003a08
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], edx
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
mov edx, dword [ebp - 0x28]
lea esp, [ebp - 0x10]
mov eax, edx
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
mov dword [ebp - 0x2c], edx
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x28], ecx
mov dword [esp + 0xc], str.created__u_rows_n
mov dword [esp + 8], str.fill_ip4routetable
mov dword [esp + 4], 0x1002179c
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
jmp 0x100039dc
mov edx, 1
jmp 0x100039a3
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
mov edx, 0xffffffff
jmp 0x100039f4