Function at 0x403d30
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x81c
mov eax, dword [0x41b074]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
push 0x418a50
push edi
call fcn.00404d4b
mov esi, eax
xor ebx, ebx
add esp, 8
cmp esi, ebx
jne 0x403d95
push edi
push str.Unable_to_load_profiles_from__s
lea edx, [ebp - 0x804]
call fcn.00401000
add esp, 8
cmp byte [0x42a3a4], bl
je 0x403d8e
lea eax, [ebp - 0x804]
push eax
mov ebx, str.Debug
call fcn.00403450
add esp, 4
push 0
call fcn.00405fbb
push 2
push 0xfffffffffffffffc
push esi
call fcn.00405c67
push esi
push 1
lea ecx, [ebp - 0x80d]
push 1
push ecx
call fcn.00405178
push esi
push 1
lea edx, [ebp - 0x80f]
push 1
push edx
call fcn.00405178
push esi
push 1
lea eax, [ebp - 0x80e]
push 1
push eax
call fcn.00405178
push esi
push 1
lea ecx, [ebp - 0x810]
push 1
push ecx
call fcn.00405178
movzx edi, byte [ebp - 0x810]
movzx edx, byte [ebp - 0x80e]
movzx eax, byte [ebp - 0x80f]
movzx ecx, byte [ebp - 0x80d]
shl edi, 8
or edi, edx
shl edi, 8
or edi, eax
shl edi, 8
or edi, ecx
add esp, 0x4c
lea eax, [edi + edi*2 + 4]
push 2
neg eax
push eax
push esi
call fcn.00405c67
add esp, 0xc
mov dword [ebp - 0x80c], ebx
mov dword [ebp - 0x818], ebx
test edi, edi
jle 0x403e9c
push esi
push 1
lea edx, [ebx + 0x425188]
push 1
push edx
mov byte [ebp - 0x806], 0
mov byte [ebp - 0x805], 0
call fcn.00405178
push esi
push 1
lea eax, [ebp - 0x805]
push 1
push eax
call fcn.00405178
push esi
push 1
lea ecx, [ebp - 0x806]
push 1
push ecx
call fcn.00405178
movzx edx, byte [ebp - 0x806]
movzx eax, byte [ebp - 0x805]
shl edx, 8
add eax, edx
add dword [ebp - 0x80c], eax
mov dword [ebx*4 + 0x421188], eax
inc ebx
add esp, 0x30
cmp ebx, edi
jl 0x403e33
mov ecx, dword [ebp - 0x80c]
lea eax, [edi + edi*2 + 4]
add ecx, eax
push 2
neg ecx
push ecx
push esi
call fcn.00405c67
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x80c], eax
test edi, edi
jle 0x403f9a
jmp 0x403ed0
mov ecx, dword [eax*4 + 0x421188]
mov dword [ebp - 0x814], ecx
test ecx, ecx
je 0x403f8b
cmp byte [eax + 0x425188], 2
jne 0x403ef4
inc dword [ebp - 0x818]
lea eax, [ecx + 1]
push eax
call fcn.0040561e
mov ebx, eax
mov eax, dword [ebp - 0x814]
inc eax
push eax
push 0
push ebx
call fcn.00406a10
mov edx, dword [ebp - 0x814]
push esi
push edx
push 1
push ebx
call fcn.00405178
mov dword [ebp - 0x81c], eax
mov eax, dword [ebp - 0x814]
mov byte [ebx + eax], 0
mov eax, dword [ebp - 0x80c]
add esp, 0x20
cmp byte [eax + 0x425188], 4
je 0x403f7e
push 0x2000
call fcn.0040561e
mov ecx, dword [ebp - 0x81c]
inc ecx
push ecx
push ebx
push eax
mov dword [ebp - 0x814], eax
call fcn.00405800
mov edx, dword [ebp - 0x814]
mov eax, dword [ebp - 0x80c]
push ebx
mov dword [eax*4 + 0x426188], edx
call fcn.00404b69
add esp, 0x14
jmp 0x403f85
mov dword [eax*4 + 0x426188], ebx
mov eax, dword [ebp - 0x80c]
inc eax
mov dword [ebp - 0x80c], eax
cmp eax, edi
jl 0x403ed0
push esi
call fcn.0040555b
mov ecx, dword [ebp - 0x818]
push ecx
push str._d_profiles_loaded
lea edx, [ebp - 0x804]
call fcn.00401000
lea edx, [ebp - 0x804]
push edx
mov ebx, str.Info
call fcn.00403450
mov ecx, dword [ebp - 4]
add esp, 0x10
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00404b74
mov esp, ebp
pop ebp
ret