Function at 0x10037760
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x101afedc]
add eax, dword [0x101afed8]
add eax, dword [0x101afed4]
add eax, dword [0x101afec4]
add eax, dword [0x101afec0]
push ebx
push esi
push edi
push 0x10090c90
mov dword [0x101afee0], eax
lea eax, [ebp - 8]
push str.StateInfo_log.bin
push eax
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
call fcn.100748aa
push 0x1008f5a0
mov esi, eax
lea eax, [ebp - 4]
push str.StateInfo_logbin.txt
push eax
call fcn.100748aa
add esp, 0x18
test esi, esi
jne 0x100380a7
cmp dword [ebp - 8], esi
je 0x100380a7
test eax, eax
jne 0x100380a7
cmp dword [ebp - 4], eax
je 0x100380a7
xor edi, edi
cmp dword [0x101afecc], edi
jbe 0x100378a5
push dword [ebp - 8]
push 1
push 4
push dword [edi*4 + 0x101afee8]
call fcn.1007576b
push edi
push str._nAllocationList_d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101afee8]
push dword [eax]
push str._n_t_d
push dword [ebp - 4]
call fcn.10074a01
push str._tData:__n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101afee8]
add esp, 0x30
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10037898
push dword [ebp - 8]
push dword [eax]
push 8
push ecx
call fcn.1007576b
mov esi, dword [edi*4 + 0x101afee8]
add esp, 0x10
mov ebx, dword [esi]
shl ebx, 3
test bl, 3
jne 0x1003786f
shr ebx, 2
jmp 0x10037873
shr ebx, 2
inc ebx
mov esi, dword [esi + 4]
test ebx, ebx
je 0x10037898
lea ebx, [ebx]
push dword [esi]
push str.0x_8.8x
push dword [ebp - 4]
call fcn.10074a01
add esp, 0xc
lea esi, [esi + 4]
dec ebx
jne 0x10037880
inc edi
cmp edi, dword [0x101afecc]
jb 0x100377f4
xor ebx, ebx
cmp dword [0x101afed0], ebx
jbe 0x10037966
push dword [ebp - 8]
push 1
push 4
push dword [ebx*4 + 0x101b0078]
call fcn.1007576b
push ebx
push str._nCommandBuffer_d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [ebx*4 + 0x101b0078]
push dword [eax]
push str._tBuffer_size:__d_n
push dword [ebp - 4]
call fcn.10074a01
push str._tData:__n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [ebx*4 + 0x101b0078]
add esp, 0x30
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10037949
mov eax, dword [eax]
mov esi, eax
shr esi, 2
test al, 3
je 0x10037914
inc esi
push dword [ebp - 8]
push eax
push 1
push ecx
call fcn.1007576b
mov eax, dword [ebx*4 + 0x101b0078]
add esp, 0x10
mov edi, dword [eax + 4]
test esi, esi
je 0x10037949
push dword [edi]
push str.0x_8.8x
push dword [ebp - 4]
call fcn.10074a01
add esp, 0xc
lea edi, [edi + 4]
dec esi
jne 0x10037931
push str._n_
push dword [ebp - 4]
call fcn.10074a01
inc ebx
add esp, 8
cmp ebx, dword [0x101afed0]
jb 0x100378b3
push dword [ebp - 8]
push 1
push 4
push 0x101afee0
call fcn.1007576b
push dword [0x101afee0]
push str.Total_num_of_buffers:__d
push dword [ebp - 4]
call fcn.10074a01
xor edi, edi
add esp, 0x1c
cmp dword [0x101afed4], edi
jbe 0x10037ad5
jmp 0x100379a0
push dword [ebp - 8]
push 1
push 0x14
push dword [edi*4 + 0x101b0528]
call fcn.1007576b
push edi
push str._nTag_d_n
push dword [ebp - 4]
call fcn.10074a01
push dword [0x101afed4]
push str._nTag_Count:__d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0528]
push dword [eax + 4]
push str._tType:__d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0528]
push dword [eax]
push str._tHandle:_0x_p_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0528]
add esp, 0x40
push dword [eax + 8]
push str._tInitialize:__d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0528]
push dword [eax + 0x10]
push str._tBuffer_size:__d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0528]
push dword [eax + 0xc]
push str._tAligned_size:__d_n
push dword [ebp - 4]
call fcn.10074a01
push str._tData:__d__n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0528]
add esp, 0x2c
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x10037ab8
push dword [ebp - 8]
push dword [eax + 0x10]
push 1
push ecx
call fcn.1007576b
mov esi, dword [edi*4 + 0x101b0528]
add esp, 0x10
mov ebx, dword [esi + 0x10]
test bl, 3
jne 0x10037a8c
shr ebx, 2
jmp 0x10037a90
shr ebx, 2
inc ebx
mov esi, dword [esi + 0x14]
test ebx, ebx
je 0x10037ab8
jmp 0x10037aa0
push dword [esi]
push str.0x_8.8x
push dword [ebp - 4]
call fcn.10074a01
add esp, 0xc
lea esi, [esi + 4]
dec ebx
jne 0x10037aa0
push str._n_
push dword [ebp - 4]
call fcn.10074a01
inc edi
add esp, 8
cmp edi, dword [0x101afed4]
jb 0x100379a0
xor edi, edi
cmp dword [0x101afec0], edi
jbe 0x10037c15
push dword [ebp - 8]
push 1
push 0x14
push dword [edi*4 + 0x101b0208]
call fcn.1007576b
push edi
push str._nKernel_d_n
push dword [ebp - 4]
call fcn.10074a01
push dword [0x101afec0]
push str._nKernel_Count:__d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0208]
push dword [eax + 4]
push str._tType:__d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0208]
push dword [eax]
push str._tHandle:_0x_p_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0208]
add esp, 0x40
push dword [eax + 8]
push str._tInitialize:__d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0208]
push dword [eax + 0x10]
push str._tBuffer_size:__d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0208]
push dword [eax + 0xc]
push str._tAligned_size:__d_n
push dword [ebp - 4]
call fcn.10074a01
push str._tData:__n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0208]
add esp, 0x2c
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x10037bf8
push dword [ebp - 8]
push dword [eax + 0x10]
push 1
push ecx
call fcn.1007576b
mov esi, dword [edi*4 + 0x101b0208]
add esp, 0x10
mov ebx, dword [esi + 0x10]
test bl, 3
jne 0x10037bcf
shr ebx, 2
jmp 0x10037bd3
shr ebx, 2
inc ebx
mov esi, dword [esi + 0x14]
test ebx, ebx
je 0x10037bf8
lea ebx, [ebx]
push dword [esi]
push str.0x_8.8x
push dword [ebp - 4]
call fcn.10074a01
add esp, 0xc
lea esi, [esi + 4]
dec ebx
jne 0x10037be0
push str._n_
push dword [ebp - 4]
call fcn.10074a01
inc edi
add esp, 8
cmp edi, dword [0x101afec0]
jb 0x10037ae3
xor edi, edi
cmp dword [0x101afec4], edi
jbe 0x10037d55
push dword [ebp - 8]
push 1
push 0x14
push dword [edi*4 + 0x101b0398]
call fcn.1007576b
push edi
push str._nDSH_d_n
push dword [ebp - 4]
call fcn.10074a01
push dword [0x101afec4]
push str._nDSH_Count:__d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0398]
push dword [eax + 4]
push str._tType:__d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0398]
push dword [eax]
push str._tHandle:_0x_p_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0398]
add esp, 0x40
push dword [eax + 8]
push str._tInitialize:__d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0398]
push dword [eax + 0x10]
push str._tBuffer_size:__d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0398]
push dword [eax + 0xc]
push str._tAligned_size:__d_n
push dword [ebp - 4]
call fcn.10074a01
push str._tData:__n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0398]
add esp, 0x2c
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x10037d38
push dword [ebp - 8]
push dword [eax + 0x10]
push 1
push ecx
call fcn.1007576b
mov esi, dword [edi*4 + 0x101b0398]
add esp, 0x10
mov ebx, dword [esi + 0x10]
test bl, 3
jne 0x10037d0f
shr ebx, 2
jmp 0x10037d13
shr ebx, 2
inc ebx
mov esi, dword [esi + 0x14]
test ebx, ebx
je 0x10037d38
lea ebx, [ebx]
push dword [esi]
push str.0x_8.8x
push dword [ebp - 4]
call fcn.10074a01
add esp, 0xc
lea esi, [esi + 4]
dec ebx
jne 0x10037d20
push str._n_
push dword [ebp - 4]
call fcn.10074a01
inc edi
add esp, 8
cmp edi, dword [0x101afec4]
jb 0x10037c23
xor edi, edi
cmp dword [0x101afed8], edi
jbe 0x10037e95
push dword [ebp - 8]
push 1
push 0x14
push dword [edi*4 + 0x101b06b8]
call fcn.1007576b
push edi
push str._nReadOnlyBuffer_d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b06b8]
push dword [eax + 4]
push str._tType:__d_n
push dword [ebp - 4]
call fcn.10074a01
push dword [0x101afed8]
push str._tRead_only_count:_d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b06b8]
push dword [eax]
push str._tHandle:_0x_p_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b06b8]
add esp, 0x40
push dword [eax + 8]
push str._tInitialize:__d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b06b8]
push dword [eax + 0x10]
push str._tBuffer_size:__d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b06b8]
push dword [eax + 0xc]
push str._tAligned_size:__d_n
push dword [ebp - 4]
call fcn.10074a01
push str._tData:__n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b06b8]
add esp, 0x2c
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x10037e78
push dword [ebp - 8]
push dword [eax + 0x10]
push 1
push ecx
call fcn.1007576b
mov esi, dword [edi*4 + 0x101b06b8]
add esp, 0x10
mov ebx, dword [esi + 0x10]
test bl, 3
jne 0x10037e4f
shr ebx, 2
jmp 0x10037e53
shr ebx, 2
inc ebx
mov esi, dword [esi + 0x14]
test ebx, ebx
je 0x10037e78
lea ebx, [ebx]
push dword [esi]
push str.0x_8.8x
push dword [ebp - 4]
call fcn.10074a01
add esp, 0xc
lea esi, [esi + 4]
dec ebx
jne 0x10037e60
push str._n_
push dword [ebp - 4]
call fcn.10074a01
inc edi
add esp, 8
cmp edi, dword [0x101afed8]
jb 0x10037d63
xor edi, edi
cmp dword [0x101afedc], edi
jbe 0x10037fd5
push dword [ebp - 8]
push 1
push 0x14
push dword [edi*4 + 0x101b0848]
call fcn.1007576b
push edi
push str._nReadWriteBuffer_d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0848]
push dword [eax + 4]
push str._tType:__d_n
push dword [ebp - 4]
call fcn.10074a01
push dword [0x101afedc]
push str._tRead_write_count:_d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0848]
push dword [eax]
push str._tHandle:_0x_p_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0848]
add esp, 0x40
push dword [eax + 8]
push str._tInitialize:__d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0848]
push dword [eax + 0x10]
push str._tBuffer_size:__d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0848]
push dword [eax + 0xc]
push str._tAligned_size:__d_n
push dword [ebp - 4]
call fcn.10074a01
push str._tData:__n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b0848]
add esp, 0x2c
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x10037fb8
push dword [ebp - 8]
push dword [eax + 0x10]
push 1
push ecx
call fcn.1007576b
mov esi, dword [edi*4 + 0x101b0848]
add esp, 0x10
mov ebx, dword [esi + 0x10]
test bl, 3
jne 0x10037f8f
shr ebx, 2
jmp 0x10037f93
shr ebx, 2
inc ebx
mov esi, dword [esi + 0x14]
test ebx, ebx
je 0x10037fb8
lea ebx, [ebx]
push dword [esi]
push str.0x_8.8x
push dword [ebp - 4]
call fcn.10074a01
add esp, 0xc
lea esi, [esi + 4]
dec ebx
jne 0x10037fa0
push str._n_
push dword [ebp - 4]
call fcn.10074a01
inc edi
add esp, 8
cmp edi, dword [0x101afedc]
jb 0x10037ea3
xor edi, edi
cmp dword [0x101afec8], edi
jbe 0x100380b1
push dword [ebp - 8]
push 1
push 4
push dword [edi*4 + 0x101b09d8]
call fcn.1007576b
push edi
push str._nPatchLocationList_d_n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b09d8]
push dword [eax]
push str._tCount:__d
push dword [ebp - 4]
call fcn.10074a01
push str._tData:__n
push dword [ebp - 4]
call fcn.10074a01
mov eax, dword [edi*4 + 0x101b09d8]
add esp, 0x30
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10038088
push dword [ebp - 8]
push dword [eax]
push 0x18
push ecx
call fcn.1007576b
mov esi, dword [edi*4 + 0x101b09d8]
add esp, 0x10
mov eax, dword [esi]
lea ebx, [eax + eax*2]
shl ebx, 3
test bl, 3
jne 0x10038061
shr ebx, 2
jmp 0x10038065
shr ebx, 2
inc ebx
mov esi, dword [esi + 4]
test ebx, ebx
je 0x10038088
lea esp, [esp]
push dword [esi]
push str.0x_8.8x
push dword [ebp - 4]
call fcn.10074a01
add esp, 0xc
lea esi, [esi + 4]
dec ebx
jne 0x10038070
push str._n_
push dword [ebp - 4]
call fcn.10074a01
inc edi
add esp, 8
cmp edi, dword [0x101afec8]
jb 0x10037fe3
jmp 0x100380b1
mov dword [0x101b0b68], 1
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
test eax, eax
je 0x100380c4
push eax
call fcn.1007440a
add esp, 4
mov eax, dword [ebp - 4]
test eax, eax
je 0x100380d4
push eax
call fcn.1007440a
add esp, 4
xor eax, eax
mov esp, ebp
pop ebp
ret