Function at 0x410150
Capabilities:
Check if file exists
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x514
mov eax, dword [0x46614c]
xor eax, ebp
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x500], 0
mov byte [ebp - 0x4f0], 0
push 0xc8
push 0
lea eax, [ebp - 0x4ef]
push eax
call fcn.00448bd0
add esp, 0xc
mov dword [ebp - 0x508], 0
mov byte [ebp - 0x218], 0
push 0x1ff
push 0
lea ecx, [ebp - 0x217]
push ecx
call fcn.00448bd0
add esp, 0xc
mov dword [ebp - 0x14], 0
xor edx, edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], edx
mov dword [ebp - 4], edx
mov dword [ebp - 0x4fc], 0
mov dword [ebp - 0x504], 0
mov dword [ebp - 0x50c], 0
cmp dword [ebp + 8], 0
jne 0x4101f4
mov eax, 0x103
jmp 0x410539
push 0x200
lea eax, [ebp - 0x218]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x410280
lea ecx, [ebp - 0x218]
push ecx
call fcn.00448c50
add esp, 4
sub eax, 1
mov dword [ebp - 0x514], eax
cmp dword [ebp - 0x514], 0
jbe 0x410261
mov edx, dword [ebp - 0x514]
movsx eax, byte [ebp + edx - 0x218]
cmp eax, 0x5c
jne 0x410250
mov ecx, dword [ebp - 0x514]
mov byte [ebp + ecx - 0x217], 0
jmp 0x410261
mov edx, dword [ebp - 0x514]
sub edx, 1
mov dword [ebp - 0x514], edx
jmp 0x410224
mov eax, dword [ebp - 0x50c]
lea ecx, [ebp - 0x218]
mov dword [ebp + eax*4 - 0x14], ecx
mov edx, dword [ebp - 0x50c]
add edx, 1
mov dword [ebp - 0x50c], edx
push 0x200
push 0
lea eax, [ebp - 0x418]
push eax
call fcn.00448bd0
add esp, 0xc
mov ecx, dword [ebp - 0x504]
cmp ecx, dword [ebp - 0x50c]
jge 0x4102ed
push 0x200
mov edx, dword [ebp - 0x504]
mov eax, dword [ebp + edx*4 - 0x14]
push eax
lea ecx, [ebp - 0x418]
push ecx
call fcn.004227b0
add esp, 0xc
push 0x200
push 0x462b98
lea edx, [ebp - 0x418]
push edx
call fcn.00422830
add esp, 0xc
mov eax, dword [ebp - 0x504]
add eax, 1
mov dword [ebp - 0x504], eax
jmp 0x410310
push 0x200
push str.bit_config.xml
lea ecx, [ebp - 0x418]
push ecx
call fcn.004227b0
add esp, 0xc
mov dword [ebp - 0x4fc], 1
push 0
push 0x80
push 3
push 0
push 1
push bind
lea edx, [ebp - 0x418]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x4f4], eax
cmp dword [ebp - 0x4f4], 0xffffffff
jne 0x410376
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x508], eax
cmp dword [ebp - 0x508], 2
jne 0x41036c
cmp dword [ebp - 0x4fc], 0
je 0x410365
xor eax, eax
jmp 0x410539
jmp 0x410280
mov eax, 0xa03
jmp 0x410539
push 0
mov eax, dword [ebp - 0x4f4]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x500], eax
mov ecx, dword [ebp - 0x500]
push ecx
call fcn.00448db8
add esp, 4
mov dword [ebp - 0x510], eax
cmp dword [ebp - 0x510], 0
jne 0x4103b3
mov eax, 0xa02
jmp 0x410539
mov edx, dword [ebp - 0x500]
push edx
push 0
mov eax, dword [ebp - 0x510]
push eax
call fcn.00448bd0
add esp, 0xc
push 0
lea ecx, [ebp - 0x500]
push ecx
mov edx, dword [ebp - 0x500]
push edx
mov eax, dword [ebp - 0x510]
push eax
mov ecx, dword [ebp - 0x4f4]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x410419
mov edx, dword [ebp - 0x4f4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x510]
push eax
call fcn.00448cdb
add esp, 4
mov eax, 0xa02
jmp 0x410539
mov ecx, dword [ebp - 0x4f4]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0xc8
lea edx, [ebp - 0x4f0]
push edx
push str.WebServerURL
mov eax, dword [ebp - 0x510]
push eax
call fcn.00422630
add esp, 0x10
test eax, eax
je 0x41051b
mov ecx, dword [ebp - 0x510]
push ecx
call fcn.00448cdb
add esp, 4
mov dword [ebp - 0x510], 0
lea edx, [ebp - 0x4f0]
push edx
call fcn.00448c50
add esp, 4
mov dword [ebp - 0x4f8], eax
mov dword [ebp - 0x41c], 0
jmp 0x410497
mov eax, dword [ebp - 0x41c]
add eax, 1
mov dword [ebp - 0x41c], eax
mov ecx, dword [ebp - 0x41c]
cmp ecx, dword [ebp - 0x4f8]
jge 0x410511
mov edx, dword [ebp - 0x41c]
movsx eax, byte [ebp + edx - 0x4f0]
cmp eax, 0x20
je 0x41050c
mov ecx, dword [ebp - 0x41c]
movsx edx, byte [ebp + ecx - 0x4f0]
cmp edx, 9
je 0x41050c
mov eax, dword [ebp - 0x41c]
movsx ecx, byte [ebp + eax - 0x4f0]
cmp ecx, 0xd
je 0x41050c
mov edx, dword [ebp - 0x41c]
movsx eax, byte [ebp + edx - 0x4f0]
cmp eax, 0xa
je 0x41050c
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x41c]
mov al, byte [ebp + edx - 0x4f0]
mov byte [ecx], al
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x410488
mov edx, dword [ebp + 8]
mov byte [edx], 0
xor eax, eax
jmp 0x410539
mov eax, dword [ebp - 0x510]
push eax
call fcn.00448cdb
add esp, 4
mov dword [ebp - 0x510], 0
mov eax, 0xa03
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.0044892a
mov esp, ebp
pop ebp
ret