Function at 0x57e83a
Capabilities:
Create thread
Get file size

Disassembly:
jmp 0x595160
sub esp, 0xc
push ebp
push esi
push 0x48b7
push str...DxLibDxWin.cpp
push 0x15c
call fcn.0057e8b2
mov esi, eax
xor ebp, ebp
add esp, 0xc
cmp esi, ebp
mov dword [esp + 0xc], esi
jne 0x595190
pop esi
xor eax, eax
pop ebp
add esp, 0xc
ret
push edi
mov dword [esp + 0x14], 0x15c
cld
mov al, 0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x20]
cmp eax, ebp
mov ecx, dword [esp + 0x28]
mov dword [esi + 8], eax
mov dword [esi + 0x150], ebp
mov dword [esi + 0xc], ecx
jne 0x5951c6
cmp ecx, ebp
jne 0x5951c6
xor eax, eax
jmp 0x5951cb
mov eax, 1
cmp eax, 1
push ebx
push ebp
push 0x80
push 3
push ebp
push 1
mov dword [esi + 4], eax
push closesocket
jne 0x595382
mov ebx, dword [esp + 0x38]
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [esi], eax
je 0x595394
push ebp
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [esi + 0x18], eax
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [esi + 8], ebp
mov dword [esi], ebp
je 0x59525d
push 0x48dc
push str...DxLibDxWin.cpp
push 0x20000
call fcn.0057e8b2
add esp, 0xc
cmp eax, ebp
mov dword [esi + 0x150], eax
jne 0x59525d
push ebp
call fcn.0057cf76
push esi
call fcn.0057cf76
push 0x87a7c8
call fcn.0057a587
add esp, 0xc
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0xc
ret
mov edi, dword [sym.imp.KERNEL32.dll_CreateEventA]
push ebp
push ebp
push 1
push ebp
mov dword [esi + 0x24], ebp
mov dword [esi + 0x20], ebp
call edi
push ebp
push 1
push 1
push ebp
mov dword [esi + 0x28], eax
call edi
mov dword [esi + 0x2c], eax
lea eax, [esi + 0x1c]
push eax
push ebp
push eax
push 0x57a0f5
push ebp
push ebp
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, ebp
mov dword [esi + 0x20], eax
jne 0x5952da
mov eax, dword [esi + 0x150]
cmp eax, ebp
je 0x5952ab
push eax
call fcn.0057cf76
add esp, 4
mov ecx, dword [esi + 0x28]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ecx
call edi
mov edx, dword [esi + 0x2c]
push edx
call edi
push esi
call fcn.0057cf76
push 0x87a78c
call fcn.0057a587
add esp, 8
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0xc
ret
push ebx
lea eax, [esi + 0x3c]
push eax
mov dword [esi + 0x30], ebp
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [esi + 0x2c]
push ecx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov edx, dword [esi + 0x28]
push edx
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [esi + 0x2c]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [esi + 0x38], 1
jne 0x5953b2
mov eax, dword [esi + 0x150]
cmp eax, ebp
je 0x595325
push eax
call fcn.0057cf76
add esp, 4
mov ecx, dword [esi + 0x28]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ecx
call edi
mov edx, dword [esi + 0x2c]
push edx
call edi
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
push ebp
call edi
mov ecx, dword [esi + 0x20]
lea eax, [esp + 0x10]
push eax
push ecx
call ebx
cmp dword [esp + 0x10], 0x103
je 0x595343
mov edx, dword [esi + 0x20]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call fcn.0057cf76
push 0x87a764
call fcn.0057a587
add esp, 8
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0xc
ret
mov eax, dword [esp + 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [esi], eax
jne 0x5953a7
push esi
call fcn.0057cf76
add esp, 4
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0xc
ret
push ebp
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [esi + 0x18], eax
pop ebx
pop edi
mov dword [esi + 0x10], ebp
mov dword [esi + 0x14], ebp
mov eax, esi
pop esi
pop ebp
add esp, 0xc
ret