Function at 0xa3a620
Capabilities:
Clear file content
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0xa8d7f2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc9c
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0xcbc]
mov ebx, ecx
push 0
push edi
mov dword [esp + 0x18], ebx
call fcn.00a3a1f0
mov ebp, dword [esp + 0xcc4]
mov esi, eax
test esi, esi
jne 0xa3a67d
test ebp, ebp
je 0xa3a761
push 0
push edi
mov ecx, ebx
call fcn.00a38ae0
mov esi, eax
test esi, esi
je 0xa3a761
mov eax, dword [esp + 0xcc0]
test eax, eax
je 0xa3a716
push eax
mov ecx, esi
call fcn.00a38380
mov edi, eax
test edi, edi
jne 0xa3a6f0
test byte [esi + 0x14], 1
je 0xa3a6d3
mov ecx, esi
call fcn.00a379b0
mov ecx, dword [esp + 0xcbc]
push 1
push ecx
mov ecx, ebx
call fcn.00a3a1f0
mov esi, eax
test esi, esi
je 0xa3a6d3
mov edx, dword [esp + 0xcc0]
mov ecx, esi
push edx
call fcn.00a38380
mov edi, eax
test edi, edi
jne 0xa3a6f0
test ebp, ebp
je 0xa3a756
mov eax, dword [esp + 0xcc0]
push 0
push 0
push eax
mov ecx, esi
call fcn.00a37f40
mov edi, eax
test edi, edi
je 0xa3a756
test ebp, ebp
je 0xa3a705
push ebp
mov ecx, edi
call fcn.00a37dc0
mov ecx, edi
call fcn.00a379b0
jmp 0xa3a756
push edi
mov ecx, esi
call fcn.00a38280
mov ecx, edi
call fcn.00a379b0
jmp 0xa3a756
test ebp, ebp
jne 0xa3a724
push esi
mov ecx, ebx
call fcn.00a38b70
jmp 0xa3a756
mov ecx, esi
call fcn.00a38320
cmp word [ebp], 0
mov edi, ebp
je 0xa3a756
push edi
mov ecx, esi
call fcn.00a37fe0
mov ecx, eax
call fcn.00a379b0
push edi
call fcn.00a7e07a
lea edi, [edi + eax*2 + 2]
add esp, 4
cmp word [edi], 0
jne 0xa3a734
test esi, esi
je 0xa3a761
mov ecx, esi
call fcn.00a379b0
test byte [ebx + 0x14], 4
jne 0xa3b056
mov eax, dword [ebx + 0x40]
test eax, eax
jne 0xa3a788
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0xa3a788
mov ecx, ebx
call fcn.00a38d60
test eax, eax
je 0xa3b05b
lea ecx, [esp + 0x4c]
call fcn.00a155c0
mov eax, dword [ebx + 0x28]
mov dword [esp + 0xcb4], 0
test eax, eax
je 0xa3a7b3
push 0xfeff
push 1
lea ecx, [esp + 0x54]
call fcn.00a15990
mov ecx, dword [esp + 0x10]
xor edi, edi
xor esi, esi
mov dword [esp + 0x20], edi
mov ebx, dword [ecx + 0x40]
lea ecx, [esp + 0x25c]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], ebx
call fcn.00a155c0
mov eax, dword [esp + 0x1c]
mov byte [esp + 0xcb4], 1
test eax, eax
je 0xa3aa5e
lea edx, [esp + 0x25c]
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x20]
push eax
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.00a38a60
test eax, eax
je 0xa3aa5e
lea edx, [esp + 0x25c]
push edx
call fcn.00a381a0
add esp, 4
lea ecx, [esp + 0x25c]
push 0
call fcn.00a15bc0
cmp word [eax], 0x3b
je 0xa3aa52
push 0
lea ecx, [esp + 0x260]
call fcn.00a15bc0
cmp word [eax], 0x5b
jne 0xa3a94b
test esi, esi
jne 0xa3aa82
mov eax, dword [esp + 0x260]
dec eax
test eax, eax
jle 0xa3a885
lea edi, [esi + 1]
lea ecx, [esp + 0x25c]
push edi
call fcn.00a15bc0
cmp word [eax], 0x5d
je 0xa3a885
mov ecx, dword [esp + 0x260]
mov esi, edi
dec ecx
cmp esi, ecx
jl 0xa3a861
push esi
lea edx, [esp + 0x890]
push 1
push edx
lea ecx, [esp + 0x268]
call fcn.00a15eb0
mov ecx, dword [0xa918f4]
mov byte [esp + 0xcb4], 2
push ecx
push 0
push eax
lea ecx, [esp + 0x688]
call fcn.00a151b0
lea ecx, [esp + 0x88c]
mov byte [esp + 0xcb4], 4
call fcn.00a155e0
lea edx, [esp + 0x67c]
push edx
call fcn.00a381a0
mov eax, dword [esp + 0xcc0]
add esp, 4
lea ecx, [esp + 0x67c]
push eax
call fcn.00a15640
push eax
call fcn.00a886d0
mov ecx, dword [esp + 0x20]
mov esi, eax
neg esi
push 2
push 0xaa564c
sbb esi, esi
push ecx
inc esi
call fcn.00a7ff5b
add esp, 0x14
test eax, eax
jne 0xa3a924
mov edx, dword [esp + 0x18]
add edx, 4
mov dword [esp + 0x14], edx
jmp 0xa3a92c
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov edi, ebx
lea ecx, [esp + 0x67c]
mov dword [esp + 0x20], edi
mov byte [esp + 0xcb4], 1
call fcn.00a155e0
jmp 0xa3aa52
test esi, esi
je 0xa3aa52
mov ecx, dword [esp + 0x18]
push 2
push 0xaa564c
push ecx
call fcn.00a7ff5b
add esp, 0xc
test eax, eax
jne 0xa3a978
mov edx, dword [esp + 0x18]
add edx, 4
mov dword [esp + 0x14], edx
jmp 0xa3a980
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xcc0]
test eax, eax
je 0xa3aa52
lea ecx, [esp + 0x46c]
call fcn.00a155c0
push 0
push 0x3d
lea ecx, [esp + 0x264]
mov byte [esp + 0xcbc], 5
call fcn.00a15c90
mov edi, eax
mov eax, dword [0xa918f4]
cmp edi, eax
je 0xa3aa15
push edi
lea ecx, [esp + 0xaa0]
push 0
push ecx
lea ecx, [esp + 0x268]
call fcn.00a15eb0
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
push edx
push eax
lea ecx, [esp + 0x474]
mov byte [esp + 0xcbc], 6
call fcn.00a15a90
lea ecx, [esp + 0xa9c]
mov byte [esp + 0xcb4], 5
call fcn.00a155e0
lea ecx, [esp + 0x46c]
push ecx
call fcn.00a381a0
add esp, 4
mov edx, dword [esp + 0xcc0]
lea ecx, [esp + 0x46c]
push edx
call fcn.00a15640
push eax
call fcn.00a886d0
add esp, 8
test eax, eax
je 0xa3abc9
lea ecx, [esp + 0x46c]
mov byte [esp + 0xcb4], 1
call fcn.00a155e0
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
test ebx, ebx
jne 0xa3a7ea
mov ebx, dword [esp + 0xcc0]
test ebp, ebp
jne 0xa3ac9b
test ebx, ebx
jne 0xa3aa79
test esi, esi
jne 0xa3aca3
mov ecx, dword [esp + 0x10]
jmp 0xa3b029
mov eax, dword [esp + 0xcc0]
test eax, eax
jne 0xa3ab89
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x4c]
mov eax, dword [eax + 0x40]
sub edi, eax
sar edi, 1
push edi
push eax
call fcn.00a15880
test ebp, ebp
je 0xa3ab60
push 0x5b
push 1
lea ecx, [esp + 0x54]
call fcn.00a15770
mov esi, dword [esp + 0xcbc]
mov edi, eax
test esi, esi
je 0xa3aad4
push esi
call fcn.00a7e07a
add esp, 4
jmp 0xa3aad6
xor eax, eax
push eax
push esi
mov ecx, edi
call fcn.00a15880
mov ecx, 0xaa91a0
mov esi, eax
test ecx, ecx
je 0xa3aaf5
push ecx
call fcn.00a7e07a
add esp, 4
jmp 0xa3aaf7
xor eax, eax
push eax
push 0xaa91a0
mov ecx, esi
call fcn.00a15880
cmp word [ebp], 0
je 0xa3ab60
test ebp, ebp
je 0xa3ab1a
push ebp
call fcn.00a7e07a
add esp, 4
jmp 0xa3ab1c
xor eax, eax
push eax
push ebp
lea ecx, [esp + 0x54]
call fcn.00a15880
mov edx, 0xaa564c
mov esi, eax
test edx, edx
je 0xa3ab3d
push edx
call fcn.00a7e07a
add esp, 4
jmp 0xa3ab3f
xor eax, eax
push eax
push 0xaa564c
mov ecx, esi
call fcn.00a15880
push ebp
call fcn.00a7e07a
lea ebp, [ebp + eax*2 + 2]
add esp, 4
cmp word [ebp], 0
jne 0xa3ab0b
mov esi, dword [esp + 0x14]
test esi, esi
je 0xa3ab7c
push esi
call fcn.00a7e07a
add esp, 4
lea ecx, [esp + 0x4c]
push eax
push esi
jmp 0xa3af1b
xor eax, eax
lea ecx, [esp + 0x4c]
push eax
push esi
jmp 0xa3af1b
test ebp, ebp
jne 0xa3ab96
mov ecx, dword [esp + 0x10]
jmp 0xa3b029
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ecx, edi
mov eax, dword [eax + 0x40]
sub ecx, eax
sar ecx, 1
push ecx
push eax
lea ecx, [esp + 0x54]
call fcn.00a15880
mov esi, dword [esp + 0xcc0]
push esi
call fcn.00a7e07a
add esp, 4
push eax
push esi
jmp 0xa3adaa
test ebp, ebp
jne 0xa3abfa
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x40]
lea ecx, [esp + 0x4c]
sub ebx, eax
sar ebx, 1
push ebx
push eax
call fcn.00a15880
mov esi, dword [esp + 0x14]
test esi, esi
je 0xa3ac75
push esi
call fcn.00a7e07a
add esp, 4
jmp 0xa3ac77
cmp edi, dword [0xa918f4]
je 0xa3ac26
push 0x3d
push ebx
call fcn.00a7fe8b
mov edx, dword [esp + 0x18]
add eax, 2
add esp, 8
mov ecx, dword [edx + 0x40]
sub eax, ecx
sar eax, 1
push eax
push ecx
lea ecx, [esp + 0x54]
call fcn.00a15880
push ebp
call fcn.00a7e07a
add esp, 4
lea ecx, [esp + 0x4c]
push eax
push ebp
call fcn.00a15880
mov eax, dword [esp + 0x18]
cmp ebx, eax
jae 0xa3ac64
xor ecx, ecx
mov cx, word [eax - 2]
push ecx
call fcn.00a7ff33
add esp, 4
test eax, eax
mov eax, dword [esp + 0x18]
je 0xa3ac64
sub eax, 2
cmp ebx, eax
mov dword [esp + 0x18], eax
jb 0xa3ac42
test eax, eax
mov esi, eax
je 0xa3ac75
push eax
call fcn.00a7e07a
add esp, 4
jmp 0xa3ac77
xor eax, eax
push eax
push esi
lea ecx, [esp + 0x54]
call fcn.00a15880
lea ecx, [esp + 0x46c]
mov byte [esp + 0xcb4], 1
call fcn.00a155e0
jmp 0xa3af20
test ebx, ebx
jne 0xa3ad7b
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x4c]
mov eax, dword [edx + 0x40]
sub edi, eax
sar edi, 1
push edi
push eax
call fcn.00a15880
test ebp, ebp
je 0xa3af20
push 0x5b
push 1
lea ecx, [esp + 0x54]
call fcn.00a15770
mov esi, dword [esp + 0xcbc]
mov edi, eax
test esi, esi
je 0xa3ace6
push esi
call fcn.00a7e07a
add esp, 4
jmp 0xa3ace8
xor eax, eax
push eax
push esi
mov ecx, edi
call fcn.00a15880
mov esi, eax
mov eax, 0xaa91a0
test eax, eax
je 0xa3ad07
push eax
call fcn.00a7e07a
add esp, 4
jmp 0xa3ad09
xor eax, eax
push eax
push 0xaa91a0
mov ecx, esi
call fcn.00a15880
cmp word [ebp], 0
je 0xa3af20
test ebp, ebp
je 0xa3ad30
push ebp
call fcn.00a7e07a
add esp, 4
jmp 0xa3ad32
xor eax, eax
push eax
push ebp
lea ecx, [esp + 0x54]
call fcn.00a15880
mov ecx, 0xaa564c
mov esi, eax
test ecx, ecx
je 0xa3ad53
push ecx
call fcn.00a7e07a
add esp, 4
jmp 0xa3ad55
xor eax, eax
push eax
push 0xaa564c
mov ecx, esi
call fcn.00a15880
push ebp
call fcn.00a7e07a
lea ebp, [ebp + eax*2 + 2]
add esp, 4
cmp word [ebp], 0
jne 0xa3ad21
jmp 0xa3af20
test esi, esi
je 0xa3ae36
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ecx, edi
mov eax, dword [edx + 0x40]
sub ecx, eax
sar ecx, 1
push ecx
push eax
lea ecx, [esp + 0x54]
call fcn.00a15880
push ebx
call fcn.00a7e07a
add esp, 4
push eax
push ebx
lea ecx, [esp + 0x54]
call fcn.00a15880
mov edx, 0xaa90a8
mov esi, eax
test edx, edx
je 0xa3adc9
push edx
call fcn.00a7e07a
add esp, 4
jmp 0xa3adcb
xor eax, eax
push eax
push 0xaa90a8
mov ecx, esi
call fcn.00a15880
push ebp
mov esi, eax
call fcn.00a7e07a
add esp, 4
mov ecx, esi
push eax
push ebp
call fcn.00a15880
mov esi, eax
mov eax, 0xaa564c
test eax, eax
je 0xa3ae02
push eax
call fcn.00a7e07a
add esp, 4
jmp 0xa3ae04
xor eax, eax
push eax
push 0xaa564c
mov ecx, esi
call fcn.00a15880
test edi, edi
je 0xa3ae29
push edi
call fcn.00a7e07a
add esp, 4
lea ecx, [esp + 0x4c]
push eax
push edi
jmp 0xa3af1b
xor eax, eax
lea ecx, [esp + 0x4c]
push eax
push edi
jmp 0xa3af1b
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + 0x40]
test esi, esi
je 0xa3ae4c
push esi
call fcn.00a7e07a
add esp, 4
jmp 0xa3ae4e
xor eax, eax
push eax
push esi
lea ecx, [esp + 0x54]
call fcn.00a15880
push 0x5b
push 1
lea ecx, [esp + 0x54]
call fcn.00a15770
mov esi, dword [esp + 0xcbc]
mov edi, eax
test esi, esi
je 0xa3ae7e
push esi
call fcn.00a7e07a
add esp, 4
jmp 0xa3ae80
xor eax, eax
push eax
push esi
mov ecx, edi
call fcn.00a15880
mov edx, 0xaa91a0
mov esi, eax
test edx, edx
je 0xa3ae9f
push edx
call fcn.00a7e07a
add esp, 4
jmp 0xa3aea1
xor eax, eax
push eax
push 0xaa91a0
mov ecx, esi
call fcn.00a15880
push ebx
call fcn.00a7e07a
add esp, 4
lea ecx, [esp + 0x4c]
push eax
push ebx
call fcn.00a15880
mov esi, eax
mov eax, 0xaa90a8
test eax, eax
je 0xa3aed8
push eax
call fcn.00a7e07a
add esp, 4
jmp 0xa3aeda
xor eax, eax
push eax
push 0xaa90a8
mov ecx, esi
call fcn.00a15880
push ebp
mov esi, eax
call fcn.00a7e07a
add esp, 4
mov ecx, esi
push eax
push ebp
call fcn.00a15880
mov ecx, 0xaa564c
mov esi, eax
test ecx, ecx
je 0xa3af11
push ecx
call fcn.00a7e07a
add esp, 4
jmp 0xa3af13
xor eax, eax
push eax
push 0xaa564c
mov ecx, esi
call fcn.00a15880
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x4c]
mov eax, dword [esi + 0x28]
test eax, eax
je 0xa3af3f
call fcn.00a15640
mov edx, dword [esp + 0x50]
mov ebx, eax
lea edi, [edx + edx]
jmp 0xa3af4a
call fcn.00a15680
mov edi, dword [esp + 0x50]
mov ebx, eax
mov eax, dword [esi + 0x2c]
push 0
push 0
push 0
push eax
call fcn.00a2a140
mov edx, dword [esi + 0x2c]
lea ecx, [esp + 0x24]
push 0
push ecx
push edi
push ebx
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0xa3b016
cmp dword [esp + 0x24], edi
jne 0xa3b016
mov eax, dword [esi + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov edx, dword [esi + 4]
lea ecx, [esp + 0x28]
push ecx
push 0
push edx
call fcn.009f2650
add esp, 0xc
test eax, eax
je 0xa3afbb
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x48]
mov dword [esi + 0x34], ecx
mov dword [esi + 0x38], edx
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x40]
test eax, eax
je 0xa3afcb
push eax
call fcn.00a7d8f0
add esp, 4
mov eax, dword [esi + 0x28]
test eax, eax
je 0xa3aff5
mov ecx, dword [esp + 0x50]
lea edx, [ecx + ecx]
push edx
call fcn.009ef3a0
mov ecx, dword [esp + 0x58]
mov dword [esi + 0x40], eax
add ecx, 2
push ecx
push eax
call fcn.00a7e270
add esp, 0xc
jmp 0xa3b027
mov edx, dword [esp + 0x50]
lea eax, [edx + edx + 2]
push eax
call fcn.009ef3a0
mov ecx, dword [esp + 0x58]
mov dword [esi + 0x40], eax
push ecx
push eax
call fcn.00a7e270
add esp, 0xc
jmp 0xa3b027
mov edx, dword [esi + 4]
push edx
push str._Error_writing_to_.ini_file__ls_n
call fcn.009fe320
add esp, 8
mov ecx, esi
call fcn.00a38d40
lea ecx, [esp + 0x25c]
mov byte [esp + 0xcb4], 0
call fcn.00a155e0
lea ecx, [esp + 0x4c]
mov dword [esp + 0xcb4], 0xffffffff
call fcn.00a155e0
mov eax, 1
mov ecx, dword [esp + 0xcac]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xca8
ret 0xc