Function at 0x10037800
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x101736a4]
add eax, dword [0x101736a0]
push ebx
add eax, dword [0x1017369c]
push esi
add eax, dword [0x1017368c]
push edi
add eax, dword [0x10173688]
push 0x1008fd04
mov dword [0x101736a8], eax
lea eax, [ebp - 8]
push str.StateInfo_log.bin
push eax
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
call fcn.1007415e
push 0x1008e5d4
lea eax, [ebp - 4]
push str.StateInfo_logbin.txt
push eax
call fcn.1007415e
xor edi, edi
add esp, 0x18
cmp dword [0x10173694], edi
jbe 0x1003791b
push dword [ebp - 8]
push 1
push 4
push dword [edi*4 + 0x101736b0]
call fcn.10074fd8
push edi
push str._nAllocationList_d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x101736b0]
push dword [eax]
push str._n_t_d
push dword [ebp - 4]
call fcn.100742b5
push str._tData:__n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x101736b0]
add esp, 0x30
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1003790e
push dword [ebp - 8]
push dword [eax]
push 8
push ecx
call fcn.10074fd8
mov esi, dword [edi*4 + 0x101736b0]
add esp, 0x10
mov ebx, dword [esi]
shl ebx, 3
test bl, 3
jne 0x100378eb
shr ebx, 2
jmp 0x100378ef
shr ebx, 2
inc ebx
mov esi, dword [esi + 4]
test ebx, ebx
je 0x1003790e
push dword [esi]
push str.0x_8.8x
push dword [ebp - 4]
call fcn.100742b5
add esp, 0xc
lea esi, [esi + 4]
dec ebx
jne 0x100378f6
inc edi
cmp edi, dword [0x10173694]
jb 0x10037870
xor ebx, ebx
cmp dword [0x10173698], ebx
jbe 0x100379e5
lea esp, [esp]
push dword [ebp - 8]
push 1
push 4
push dword [ebx*4 + 0x10173840]
call fcn.10074fd8
push ebx
push str._nCommandBuffer_d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [ebx*4 + 0x10173840]
push dword [eax]
push str._tBuffer_size:__d_n
push dword [ebp - 4]
call fcn.100742b5
push str._tData:__n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [ebx*4 + 0x10173840]
add esp, 0x30
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x100379c8
mov eax, dword [eax]
mov esi, eax
shr esi, 2
test al, 3
je 0x10037991
inc esi
push dword [ebp - 8]
push eax
push 1
push ecx
call fcn.10074fd8
mov eax, dword [ebx*4 + 0x10173840]
add esp, 0x10
mov edi, dword [eax + 4]
test esi, esi
je 0x100379c8
mov edi, edi
push dword [edi]
push str.0x_8.8x
push dword [ebp - 4]
call fcn.100742b5
add esp, 0xc
lea edi, [edi + 4]
dec esi
jne 0x100379b0
push str._n_
push dword [ebp - 4]
call fcn.100742b5
inc ebx
add esp, 8
cmp ebx, dword [0x10173698]
jb 0x10037930
push dword [ebp - 8]
push 1
push 4
push 0x101736a8
call fcn.10074fd8
push dword [0x101736a8]
push str.Total_num_of_buffers:__d
push dword [ebp - 4]
call fcn.100742b5
xor edi, edi
add esp, 0x1c
cmp dword [0x1017369c], edi
jbe 0x10037b55
lea ebx, [ebx]
push dword [ebp - 8]
push 1
push 0x14
push dword [edi*4 + 0x10173cf0]
call fcn.10074fd8
push edi
push str._nTag_d_n
push dword [ebp - 4]
call fcn.100742b5
push dword [0x1017369c]
push str._nTag_Count:__d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10173cf0]
push dword [eax + 4]
push str._tType:__d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10173cf0]
push dword [eax]
push str._tHandle:_0x_p_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10173cf0]
add esp, 0x40
push dword [eax + 8]
push str._tInitialize:__d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10173cf0]
push dword [eax + 0x10]
push str._tBuffer_size:__d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10173cf0]
push dword [eax + 0xc]
push str._tAligned_size:__d_n
push dword [ebp - 4]
call fcn.100742b5
push str._tData:__d__n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10173cf0]
add esp, 0x2c
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x10037b38
push dword [ebp - 8]
push dword [eax + 0x10]
push 1
push ecx
call fcn.10074fd8
mov esi, dword [edi*4 + 0x10173cf0]
add esp, 0x10
mov ebx, dword [esi + 0x10]
test bl, 3
jne 0x10037b0c
shr ebx, 2
jmp 0x10037b10
shr ebx, 2
inc ebx
mov esi, dword [esi + 0x14]
test ebx, ebx
je 0x10037b38
jmp 0x10037b20
push dword [esi]
push str.0x_8.8x
push dword [ebp - 4]
call fcn.100742b5
add esp, 0xc
lea esi, [esi + 4]
dec ebx
jne 0x10037b20
push str._n_
push dword [ebp - 4]
call fcn.100742b5
inc edi
add esp, 8
cmp edi, dword [0x1017369c]
jb 0x10037a20
xor edi, edi
cmp dword [0x10173688], edi
jbe 0x10037c95
push dword [ebp - 8]
push 1
push 0x14
push dword [edi*4 + 0x101739d0]
call fcn.10074fd8
push edi
push str._nKernel_d_n
push dword [ebp - 4]
call fcn.100742b5
push dword [0x10173688]
push str._nKernel_Count:__d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x101739d0]
push dword [eax + 4]
push str._tType:__d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x101739d0]
push dword [eax]
push str._tHandle:_0x_p_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x101739d0]
add esp, 0x40
push dword [eax + 8]
push str._tInitialize:__d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x101739d0]
push dword [eax + 0x10]
push str._tBuffer_size:__d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x101739d0]
push dword [eax + 0xc]
push str._tAligned_size:__d_n
push dword [ebp - 4]
call fcn.100742b5
push str._tData:__n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x101739d0]
add esp, 0x2c
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x10037c78
push dword [ebp - 8]
push dword [eax + 0x10]
push 1
push ecx
call fcn.10074fd8
mov esi, dword [edi*4 + 0x101739d0]
add esp, 0x10
mov ebx, dword [esi + 0x10]
test bl, 3
jne 0x10037c4f
shr ebx, 2
jmp 0x10037c53
shr ebx, 2
inc ebx
mov esi, dword [esi + 0x14]
test ebx, ebx
je 0x10037c78
lea ebx, [ebx]
push dword [esi]
push str.0x_8.8x
push dword [ebp - 4]
call fcn.100742b5
add esp, 0xc
lea esi, [esi + 4]
dec ebx
jne 0x10037c60
push str._n_
push dword [ebp - 4]
call fcn.100742b5
inc edi
add esp, 8
cmp edi, dword [0x10173688]
jb 0x10037b63
xor edi, edi
cmp dword [0x1017368c], edi
jbe 0x10037dd5
push dword [ebp - 8]
push 1
push 0x14
push dword [edi*4 + 0x10173b60]
call fcn.10074fd8
push edi
push str._nDSH_d_n
push dword [ebp - 4]
call fcn.100742b5
push dword [0x1017368c]
push str._nDSH_Count:__d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10173b60]
push dword [eax + 4]
push str._tType:__d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10173b60]
push dword [eax]
push str._tHandle:_0x_p_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10173b60]
add esp, 0x40
push dword [eax + 8]
push str._tInitialize:__d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10173b60]
push dword [eax + 0x10]
push str._tBuffer_size:__d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10173b60]
push dword [eax + 0xc]
push str._tAligned_size:__d_n
push dword [ebp - 4]
call fcn.100742b5
push str._tData:__n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10173b60]
add esp, 0x2c
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x10037db8
push dword [ebp - 8]
push dword [eax + 0x10]
push 1
push ecx
call fcn.10074fd8
mov esi, dword [edi*4 + 0x10173b60]
add esp, 0x10
mov ebx, dword [esi + 0x10]
test bl, 3
jne 0x10037d8f
shr ebx, 2
jmp 0x10037d93
shr ebx, 2
inc ebx
mov esi, dword [esi + 0x14]
test ebx, ebx
je 0x10037db8
lea ebx, [ebx]
push dword [esi]
push str.0x_8.8x
push dword [ebp - 4]
call fcn.100742b5
add esp, 0xc
lea esi, [esi + 4]
dec ebx
jne 0x10037da0
push str._n_
push dword [ebp - 4]
call fcn.100742b5
inc edi
add esp, 8
cmp edi, dword [0x1017368c]
jb 0x10037ca3
xor edi, edi
cmp dword [0x101736a0], edi
jbe 0x10037f15
push dword [ebp - 8]
push 1
push 0x14
push dword [edi*4 + 0x10173e80]
call fcn.10074fd8
push edi
push str._nReadOnlyBuffer_d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10173e80]
push dword [eax + 4]
push str._tType:__d_n
push dword [ebp - 4]
call fcn.100742b5
push dword [0x101736a0]
push str._tRead_only_count:_d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10173e80]
push dword [eax]
push str._tHandle:_0x_p_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10173e80]
add esp, 0x40
push dword [eax + 8]
push str._tInitialize:__d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10173e80]
push dword [eax + 0x10]
push str._tBuffer_size:__d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10173e80]
push dword [eax + 0xc]
push str._tAligned_size:__d_n
push dword [ebp - 4]
call fcn.100742b5
push str._tData:__n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10173e80]
add esp, 0x2c
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x10037ef8
push dword [ebp - 8]
push dword [eax + 0x10]
push 1
push ecx
call fcn.10074fd8
mov esi, dword [edi*4 + 0x10173e80]
add esp, 0x10
mov ebx, dword [esi + 0x10]
test bl, 3
jne 0x10037ecf
shr ebx, 2
jmp 0x10037ed3
shr ebx, 2
inc ebx
mov esi, dword [esi + 0x14]
test ebx, ebx
je 0x10037ef8
lea ebx, [ebx]
push dword [esi]
push str.0x_8.8x
push dword [ebp - 4]
call fcn.100742b5
add esp, 0xc
lea esi, [esi + 4]
dec ebx
jne 0x10037ee0
push str._n_
push dword [ebp - 4]
call fcn.100742b5
inc edi
add esp, 8
cmp edi, dword [0x101736a0]
jb 0x10037de3
xor edi, edi
cmp dword [0x101736a4], edi
jbe 0x10038055
push dword [ebp - 8]
push 1
push 0x14
push dword [edi*4 + 0x10174010]
call fcn.10074fd8
push edi
push str._nReadWriteBuffer_d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10174010]
push dword [eax + 4]
push str._tType:__d_n
push dword [ebp - 4]
call fcn.100742b5
push dword [0x101736a4]
push str._tRead_write_count:_d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10174010]
push dword [eax]
push str._tHandle:_0x_p_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10174010]
add esp, 0x40
push dword [eax + 8]
push str._tInitialize:__d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10174010]
push dword [eax + 0x10]
push str._tBuffer_size:__d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10174010]
push dword [eax + 0xc]
push str._tAligned_size:__d_n
push dword [ebp - 4]
call fcn.100742b5
push str._tData:__n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x10174010]
add esp, 0x2c
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x10038038
push dword [ebp - 8]
push dword [eax + 0x10]
push 1
push ecx
call fcn.10074fd8
mov esi, dword [edi*4 + 0x10174010]
add esp, 0x10
mov ebx, dword [esi + 0x10]
test bl, 3
jne 0x1003800f
shr ebx, 2
jmp 0x10038013
shr ebx, 2
inc ebx
mov esi, dword [esi + 0x14]
test ebx, ebx
je 0x10038038
lea ebx, [ebx]
push dword [esi]
push str.0x_8.8x
push dword [ebp - 4]
call fcn.100742b5
add esp, 0xc
lea esi, [esi + 4]
dec ebx
jne 0x10038020
push str._n_
push dword [ebp - 4]
call fcn.100742b5
inc edi
add esp, 8
cmp edi, dword [0x101736a4]
jb 0x10037f23
xor edi, edi
cmp dword [0x10173690], edi
jbe 0x10038125
push dword [ebp - 8]
push 1
push 4
push dword [edi*4 + 0x101741a0]
call fcn.10074fd8
push edi
push str._nPatchLocationList_d_n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x101741a0]
push dword [eax]
push str._tCount:__d
push dword [ebp - 4]
call fcn.100742b5
push str._tData:__n
push dword [ebp - 4]
call fcn.100742b5
mov eax, dword [edi*4 + 0x101741a0]
add esp, 0x30
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10038108
push dword [ebp - 8]
push dword [eax]
push 0x18
push ecx
call fcn.10074fd8
mov esi, dword [edi*4 + 0x101741a0]
add esp, 0x10
mov eax, dword [esi]
lea ebx, [eax + eax*2]
shl ebx, 3
test bl, 3
jne 0x100380e1
shr ebx, 2
jmp 0x100380e5
shr ebx, 2
inc ebx
mov esi, dword [esi + 4]
test ebx, ebx
je 0x10038108
lea esp, [esp]
push dword [esi]
push str.0x_8.8x
push dword [ebp - 4]
call fcn.100742b5
add esp, 0xc
lea esi, [esi + 4]
dec ebx
jne 0x100380f0
push str._n_
push dword [ebp - 4]
call fcn.100742b5
inc edi
add esp, 8
cmp edi, dword [0x10173690]
jb 0x10038063
push dword [ebp - 8]
call fcn.10073cc2
push dword [ebp - 4]
call fcn.10073cc2
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret