Function at 0x431ac0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x82c
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
test eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
je 0x431b10
mov dword [esp], ebx
call dword [0x866614]
test eax, eax
js 0x432307
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], 0x8503a0
call dword [0x866600]
mov dword [esp], ebx
call fcn.005c6de0
mov dword [esp], fcn.005c2f40
mov dword [ebp - 0x804], eax
mov dword [esp + 4], eax
call fcn.0048e4f0
mov dword [esp + 4], 0x6b63e6
mov dword [ebp - 0x808], eax
mov eax, dword [ebp - 0x804]
mov dword [esp], eax
call sub.msvcrt.dll_fopen
test eax, eax
mov dword [ebp - 0x7fc], eax
je 0x4322e3
mov eax, dword [ebp - 0x7fc]
mov dword [esp], eax
call fcn.0059a030
mov eax, dword [ebp - 0x7fc]
mov dword [esp + 8], 1
mov dword [esp + 4], 8
mov dword [esp], 0x6b6420
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
test eax, eax
jle 0x4322c4
mov eax, dword [0x8660c0]
mov dword [esp + 4], str.R__x_n
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7fc]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [0x8503ac]
cmp dword [0x8503a8], 1
mov dword [esp + 4], str.status__c__s
mov edx, dword [eax*4 + 0x6a63e8]
sbb eax, eax
add eax, 0x31
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7fc]
mov dword [esp + 0xc], edx
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
cmp dword [0x8503ac], 6
je 0x432262
mov eax, dword [0x8503b0]
mov dword [esp + 4], 0x6b6440
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7fc]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [0x8503b8]
test eax, eax
js 0x431c45
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7fc]
mov dword [esp + 4], str._tframes:_x
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [0x8503bc]
test eax, eax
js 0x431c68
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7fc]
mov dword [esp + 4], str._tcreated:_x
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [0x8503c4]
test eax, eax
js 0x431c8b
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7fc]
mov dword [esp + 4], str._tfree:_x
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [0x8503c0]
test eax, eax
js 0x431cae
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7fc]
mov dword [esp + 4], str._tsize:_x
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [0x8503c8]
test eax, eax
jne 0x432239
mov eax, dword [0x8503cc]
test eax, eax
jne 0x43221a
mov eax, dword [ebp - 0x7fc]
mov dword [esp], 0xa
mov dword [esp + 4], eax
call sub.msvcrt.dll_fputc
lea eax, [ebp - 0x1c]
mov dword [esp], eax
call dword [0x86661c]
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x431da8
mov eax, dword [ebx]
mov esi, 0x6b5e62
test eax, eax
je 0x431d2c
mov dword [esp], eax
call sub.msvcrt.dll_strlen
lea eax, [eax + eax + 1]
mov dword [esp], eax
call fcn.005c2e50
mov dword [esp + 8], 0
mov esi, eax
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.0041fed0
mov edi, dword [ebx + 0x10]
mov dword [esp + 8], 8
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0059cdb0
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 4]
mov dword [esp + 4], str.tsv__x:_s:_x:_s_n
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7fc]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov edi, dword [ebx]
test edi, edi
je 0x431d80
mov dword [esp], esi
call fcn.005c2f40
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x431cf5
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x431d96
jmp 0x431da8
mov eax, ebx
mov ebx, dword [eax + 0x14]
mov dword [esp], eax
call fcn.005c2f40
test ebx, ebx
mov dword [ebp - 0x1c], ebx
jne 0x431d94
lea eax, [ebp - 0x20]
mov dword [esp], eax
call dword [0x866618]
mov ebx, dword [ebp - 0x20]
lea edx, [ebp - 0x7f8]
mov dword [ebp - 0x800], edx
test ebx, ebx
je 0x432134
nop
lea esi, [esi]
mov dword [esp + 4], ebx
mov dword [esp], 0
call dword [0x866604]
mov ebx, dword [ebx + 0x48]
test ebx, ebx
jne 0x431dd0
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x4322d2
lea edx, [ebp - 0x7f8]
mov dword [ebp - 0x800], edx
nop
cmp dword [ebx + 0x10], 1
mov edi, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x14]
mov dword [esp + 8], 8
mov edx, dword [ebx + 0xc]
sbb esi, esi
mov eax, dword [ebx + 8]
add esi, 0x45
mov dword [ebp - 0x80c], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0059cdb0
mov ecx, dword [ebp - 0x80c]
mov dword [esp + 0x18], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], eax
mov eax, dword [ebx]
mov dword [esp + 4], str.tp_T_x:_s:_c:_x:_x
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7fc]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
cmp dword [ebx + 4], 0x1b
je 0x4321f8
mov esi, dword [ebx + 0x20]
test esi, esi
je 0x431e9a
mov dword [esp], esi
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], esi
mov dword [esp + 4], str.:X_x__s
shr eax, 1
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7fc]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [ebp - 0x7fc]
mov dword [esp], 0xa
mov dword [esp + 4], eax
call sub.msvcrt.dll_fputc
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x431f13
mov ecx, dword [eax]
xor edx, edx
xor esi, esi
test ecx, ecx
je 0x431f13
mov edi, dword [eax + edx*4 + 8]
mov dword [esp + 8], 8
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0059cdb0
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebx]
mov dword [esp + 4], str.tp_A_x:_s:_s_n
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7fc]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x431f13
add esi, 1
cmp esi, dword [eax]
mov edx, esi
jb 0x431ec1
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x431f76
mov edi, dword [eax]
xor edx, edx
xor esi, esi
test edi, edi
je 0x431f76
mov edi, dword [eax + edx*4 + 8]
mov dword [esp + 8], 8
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0059cdb0
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebx]
mov dword [esp + 4], str.tp_S_x:_s:_s_n
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7fc]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x431f76
add esi, 1
cmp esi, dword [eax]
mov edx, esi
jb 0x431f24
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x431fd3
mov edx, dword [ebp - 0x800]
mov dword [esp + 0x18], 0x7d0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x6b64d7
mov dword [esp + 0x14], edx
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.004319c0
mov eax, dword [ebp - 0x800]
mov dword [esp + 4], str.tp_Z_s_n
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7fc]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [ebx + 0x30]
test eax, eax
je 0x432030
mov edx, dword [ebp - 0x800]
mov dword [esp + 0x18], 0x7d0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x6b64e2
mov dword [esp + 0x14], edx
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.004319c0
mov eax, dword [ebp - 0x800]
mov dword [esp + 4], str.tp_Z_s_n
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7fc]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x4320a5
mov ecx, dword [eax]
xor edx, edx
xor esi, esi
mov edi, dword [ebp - 0x800]
test ecx, ecx
je 0x4320a5
mov dword [esp + 0x18], 0x7d0
mov dword [esp + 0x14], edi
mov eax, dword [eax + edx*4 + 8]
mov dword [esp + 0xc], 0x6b64e7
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.004319c0
mov eax, dword [ebp - 0x7fc]
mov dword [esp + 8], edi
mov dword [esp + 4], str.tp_Z_s_n
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x4320a5
add esi, 1
cmp esi, dword [eax]
mov edx, esi
jb 0x432047
mov dword [esp + 8], 8
mov edx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x40]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0059cdb0
mov edi, dword [ebx + 0x38]
mov dword [esp + 8], 8
mov edx, dword [ebx + 0xc]
mov esi, eax
mov eax, dword [ebx + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0059cdb0
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebx]
mov dword [esp + 4], str.tp_V_x:_s:_x:_s_n
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7fc]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov ebx, dword [ebx + 0x48]
test ebx, ebx
jne 0x431e00
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x432122
jmp 0x432134
mov eax, ebx
mov ebx, dword [eax + 0x48]
mov dword [esp], eax
call fcn.005c2f40
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x432120
mov eax, dword [ebp - 0x7fc]
xor esi, esi
xor edi, edi
mov dword [esp], 0xa
mov dword [esp + 4], eax
call sub.msvcrt.dll_fputc
mov ebx, dword [ebp - 0x800]
jmp 0x432182
mov edx, dword [ebp - 0x7fc]
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [esp + 0xc], edx
call sub.msvcrt.dll_fwrite
test eax, eax
jle 0x4322c4
add esi, dword [ebp - 0x28]
adc edi, dword [ebp - 0x24]
mov dword [esp + 0xc], 0x7d0
mov dword [esp + 0x10], 0
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp], ebx
call dword [0x866620]
test edx, edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
js 0x4322b8
or edx, eax
jne 0x432156
mov eax, dword [ebp - 0x7fc]
mov dword [esp + 8], 1
mov dword [esp + 4], 4
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x28]
mov dword [esp], eax
call sub.msvcrt.dll_fwrite
test eax, eax
jle 0x4322c4
mov eax, dword [ebp - 0x808]
mov dword [esp], eax
call fcn.0048e650
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebx + 0x1c]
mov dword [esp + 4], str.:F_x
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7fc]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x431e6b
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7fc]
mov dword [esp + 4], str._circular:_x
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x431cc8
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7fc]
mov dword [esp + 4], str._disconn:_x
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [0x8503cc]
test eax, eax
je 0x431cc8
jmp 0x43221a
mov esi, dword [0x8503b4]
mov dword [esp], esi
call sub.msvcrt.dll_strlen
lea eax, [eax + eax + 0x1f]
and eax, 0xfffffff0
call fcn.0069df40
sub esp, eax
lea ebx, [esp + 0x2b]
and ebx, 0xfffffff0
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.0041fed0
mov eax, dword [ebp - 0x7fc]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x6b643c
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x431c03
mov dword [esp], str.Failure_to_get_requested_trace_buffer_data
call fcn.0059a2d0
mov eax, dword [ebp - 0x804]
mov dword [esp], eax
call fcn.0059a440
lea eax, [ebp - 0x7f8]
mov dword [ebp - 0x800], eax
jmp 0x432134
call dword [sym.imp.msvcrt.dll__errno]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.00456120
mov dword [esp + 4], ebx
mov dword [esp], str.Unable_to_open_file__s_for_saving_trace_data___s_
mov dword [esp + 8], eax
call fcn.0059a2d0
mov dword [esp + 4], ebx
mov dword [esp], str.Target_failed_to_save_trace_data_to__s.
call fcn.0059a2d0
mov esi, esi
lea edi, [edi]
push ebp
push edi
push esi
push ebx
sub esp, 0x2c
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
test eax, eax
mov dword [esp + 0x1c], edx
je 0x43240e
mov dword [esp], eax
call fcn.0059db90
mov ebx, eax
mov dword [esp], eax
call fcn.00599f90
mov dword [esp + 0x18], eax
mov eax, dword [ebx]
test eax, eax
je 0x43240e
mov dword [esp + 0x10], 0
mov ebp, 3
mov dword [esp + 0x14], 0
jmp 0x432388
cmp byte [eax], 0x2d
je 0x4323fe
add ebx, 4
mov dword [esp + 0x10], eax
mov eax, dword [ebx]
test eax, eax
je 0x4323b2
mov esi, eax
mov ecx, ebp
mov edi, 0x6b6549
repe cmpsb byte [esi], byte es:[edi]
seta cl
mov esi, ecx
setb cl
mov edx, esi
cmp dl, cl
jne 0x432372
add ebx, 4
mov eax, dword [ebx]
mov dword [esp + 0x14], 1
test eax, eax
jne 0x432388
mov eax, dword [esp + 0x10]
test eax, eax
je 0x43240e
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00431ac0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4323ea
mov eax, dword [esp + 0x10]
mov dword [esp], str.Trace_data_saved_to_file__s._n
mov dword [esp + 4], eax
call fcn.0059b950
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], eax
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0048e650
mov dword [esp + 4], eax
mov dword [esp], 0x6b654c
call fcn.0059a2d0
mov dword [esp], str.file_in_which_to_save_trace_data
call fcn.004442a0
lea esi, [esi]