Function at 0x10003a31
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x238
mov eax, dword [0x100099f3]
sub eax, 0x21dbdb6a
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x220]
sub eax, 0xa663bcc6
push eax
mov dword [ebp - 0x238], 0xc5fce064
push 0x100123c0
mov word [ebp - 0x214], 0x2134
mov dword [ebp - 4], edx
push 0x10012340
call fcn.10004c0a
mov dword [ebp - 0x21c], eax
mov word [ebp - 0x238], 0x335a
mov eax, dword [ebp - 0x220]
sub eax, 0xa663bd41
push eax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x220]
add ecx, 0x599c433f
push ecx
mov ecx, dword [ebp - 0x220]
add ecx, 0x599c42c2
push ecx
mov dword [ebp - 0x21c], ecx
mov edx, dword [ebp - 0x220]
add edx, 0x599c42bf
push edx
mov dword [ebp - 0x214], eax
mov dword [ebp - 4], 0x8264c662
mov edx, dword [ebp - 0x220]
add edx, 0x599c42bf
push edx
mov eax, dword [ebp - 0x220]
add eax, 0x57e7
cmp eax, dword [0x100099f3]
je 0x10003b7b
mov ecx, dword [ebp - 0x220]
add ecx, 0xf36
cmp ecx, dword [0x100099f7]
je 0x10003b31
mov byte [ebp - 0x218], 0x6e
mov ecx, dword [ebp - 0x220]
add ecx, 0xd99c42bf
push ecx
push str.c7MiDb
mov dword [ebp - 0x21c], 0xa2d6d24e
call dword [sym.imp.kernel32.dll_CreateFileW]
mov dword [ebp - 0x230], eax
mov word [ebp - 0x238], 0xc97c
mov ecx, dword [ebp - 0x220]
sub ecx, 0xa663bd42
cmp dword [ebp - 0x230], ecx
je 0x10003ec2
mov dword [ebp - 0x238], edx
mov ecx, dword [ebp - 0x220]
add ecx, 0x599c42bf
push ecx
mov dword [ebp - 0x21c], 0x8f6da24e
mov eax, dword [ebp - 0x220]
add eax, 0x599c433f
push eax
mov dword [ebp - 0x214], 0xd98c882a
mov word [ebp - 4], 0xa3de
mov edx, dword [ebp - 0x220]
add edx, 0x599c42c3
push edx
mov eax, dword [ebp - 0x220]
sub eax, 0xa663bd41
push eax
mov dword [ebp - 0x21c], edx
mov edx, dword [ebp - 0x220]
add edx, 0x599c42c0
push edx
mov dword [ebp - 0x228], ecx
push 4
mov byte [ebp - 0x238], 0xb0
mov word [ebp - 0x218], 0xb0bc
push str.S5YgL0m
add edx, 0xbf
call dword [sym.imp.kernel32.dll_CreateFileW]
mov dword [ebp - 0x234], eax
mov edx, dword [ebp - 0x220]
add edx, 0x599c42be
cmp dword [ebp - 0x234], edx
je 0x10003ea8
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x220], 0
je 0x10003def
mov dword [ebp - 0x21c], 0x4f35cb83
mov edx, dword [ebp - 0x220]
sub edx, 0xa663bd41
push edx
mov edx, dword [0x1000c210]
sub edx, dword [ebp - 0x214]
mov dword [0x1000c210], edx
lea eax, [ebp - 0x210]
mov dword [ebp - 0x218], ecx
push eax
mov byte [ebp - 0x238], 0x3e
mov ecx, dword [ebp - 0x220]
sub ecx, 0xa663bb41
push ecx
mov dword [ebp - 0x238], 0xa2ef09a6
lea ecx, [ebp - 0x208]
push ecx
mov edx, dword [ebp - 0x230]
mov byte [ebp - 0x214], 0x43
push edx
call dword [sym.imp.kernel32.dll_ReadFile]
test eax, eax
mov dword [ebp - 0x214], 0x27aab895
je 0x10003e7e
mov ecx, dword [ebp - 0x220]
sub ecx, 0xa663bd41
cmp dword [ebp - 0x210], ecx
jbe 0x10003e7e
mov eax, dword [ebp - 0x220]
sub eax, 0x6322
cmp eax, 0xbfb0222e
je 0x10003c67
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x220]
sub eax, 0xa663bd3f
push eax
mov edx, dword [ebp - 0x220]
sub edx, 0xa663bd41
push edx
mov byte [ebp - 0x228], 0xae
push 0
mov word [ebp - 0x228], 0x57ed
mov byte [ebp - 0x218], 0xa0
mov eax, dword [ebp - 0x234]
push eax
call dword [sym.imp.kernel32.dll_SetFilePointer]
mov dword [ebp - 0x20c], eax
mov byte [ebp - 0x21c], 0x7f
mov ecx, dword [ebp - 0x220]
add ecx, 0x599c42bf
push ecx
mov byte [ebp - 0x214], 0x57
test dword [ebp - 0x220], 0x80
jne 0x10003e6f
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x214], ecx
push ecx
mov word [ebp - 0x238], 0x4706
mov edx, dword [ebp - 0x220]
sub edx, 0xa663bd41
push edx
test dword [ebp - 0x220], 0xec
jne 0x10003d77
push edx
push ecx
call fcn.100035fb
add esp, 8
mov eax, dword [0x1000c214]
add eax, dword [ebp - 0x21c]
mov dword [0x1000c214], eax
mov edx, dword [ebp - 0x20c]
mov dword [ebp - 0x214], 0x57783d81
push edx
mov dword [ebp - 0x238], 0xe31bc2a9
mov eax, dword [ebp - 0x234]
push eax
call dword [sym.imp.kernel32.dll_LockFile]
mov byte [ebp - 4], 0x5c
push 0
mov dword [ebp - 4], 0xa7f560f
lea ecx, [ebp - 0x22c]
mov dword [ebp - 4], ecx
push ecx
mov edx, dword [ebp - 0x210]
mov dword [ebp - 0x228], 0xeab550a7
push edx
lea eax, [ebp - 0x208]
push eax
mov dword [ebp - 0x238], eax
mov ecx, dword [ebp - 0x234]
mov byte [ebp - 4], 0xe4
push ecx
mov eax, dword [0x1000c214]
sub eax, dword [ebp - 0x220]
mov dword [0x1000c214], eax
call dword [sym.imp.kernel32.dll_WriteFile]
mov byte [ebp - 4], 0xa6
test dword [ebp - 0x220], 0x10000
je 0x10003f52
push 0
mov byte [ebp - 0x214], 0x9b
mov word [ebp - 0x214], 0x70d4
mov edx, dword [ebp - 0x210]
push edx
mov dword [ebp - 0x21c], 0x9c52ac0f
mov eax, dword [ebp - 0x220]
add eax, 0x599c42bf
push eax
mov eax, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x214]
push eax
mov ecx, dword [ebp - 0x234]
mov dword [ebp - 4], 0x880878d3
push ecx
mov dword [ebp - 0x214], eax
call dword [sym.imp.kernel32.dll_UnlockFile]
mov dword [ebp - 0x21c], 0xd1e02b46
jmp 0x10003c10
mov eax, dword [ebp - 0x220]
sub eax, 0xc4dd
cmp eax, 0x60432b5b
je 0x10003c86
mov byte [ebp - 0x218], 0xe7
mov edx, dword [ebp - 0x234]
push edx
call dword [sym.imp.kernel32.dll_CloseHandle]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x230]
mov dword [ebp - 4], 0x2de454d
push eax
call dword [sym.imp.kernel32.dll_CloseHandle]
mov dword [ebp - 0x218], eax
mov eax, dword [0x1000c214]
add eax, dword [ebp - 0x21c]
mov dword [0x1000c214], eax
mov byte [ebp - 0x218], 0x5d
mov ecx, dword [ebp - 0x220]
sub ecx, 0xa663bd41
push ecx
mov ecx, dword [0x1000c210]
add ecx, dword [ebp - 0x21c]
mov dword [0x1000c210], ecx
push 0
mov word [ebp - 0x238], 0xd5eb
mov edx, dword [ebp - 0x220]
add edx, 0x599c4243
push edx
mov byte [ebp - 0x218], 0xcd
mov eax, dword [ebp - 0x220]
sub eax, 0xa663bd41
push eax
mov byte [ebp - 0x21c], 0xb3
test dword [0x100099f7], 2
jne 0x10003f52
mov word [ebp - 0x21c], 0xf274
mov edx, dword [ebp - 0x220]
add edx, 0x599c436f
push edx
call fcn.10004d0a
add esp, 0x14
mov dword [ebp - 0x218], eax
mov word [ebp - 0x218], 0x4c00
mov ecx, dword [ebp - 0x220]
sub ecx, 0xa663bd41
push ecx
mov edx, dword [ebp - 0x220]
add edx, 0x599c435f
push edx
mov dword [ebp - 0x21c], 0xe11c8804
call fcn.1000659f
add esp, 8
mov ecx, dword [ebp - 0x238]
mov dword [ebp - 0x238], 0x992074c7
mov ecx, dword [ebp - 0x220]
add ecx, 0x599c42bf
push ecx
mov ecx, dword [ebp - 0x220]
or ecx, dword [0x1000c210]
mov dword [0x1000c214], ecx
call fcn.1000719f
mov byte [ebp - 0x21c], 0xa3
add esp, 4
push 0xd4
mov word [ebp - 0x238], 0xea7d
mov edx, dword [ebp - 0x238]
shr edx, 1
mov dword [ebp - 0x238], edx
mov dword [ebp - 0x218], edx
mov edx, dword [ebp - 0x220]
add edx, 0x599c42bf
push edx
test dword [ebp - 0x220], 0x10
jne 0x10003f8d
mov word [ebp - 0x21c], 0xf649
mov edx, dword [ebp - 0x220]
sub edx, 0xa663bd13
push edx
mov dword [ebp - 0x238], ecx
mov ecx, dword [ebp - 0x220]
add ecx, 0x599c4366
push ecx
mov dword [ebp - 0x214], 0xcd9ba3a9
call fcn.10006dde
add esp, 0x10
mov edx, dword [ebp - 0x220]
sub edx, 0xa663bcd4
push edx
mov dword [ebp - 4], eax
mov byte [ebp - 0x214], 0x57
mov eax, dword [ebp - 0x220]
add eax, 0x599c42bf
push eax
mov eax, dword [ebp - 0x220]
add eax, 0x599c42bf
push eax
mov dword [ebp - 0x214], 0xacf5018a
mov dword [ebp - 0x228], 0x164d4bd5
mov eax, dword [ebp - 0x220]
sub eax, 0xa663bd41
push eax
call fcn.10006b12
add esp, 0x10
mov dword [ebp - 0x21c], 0xbf2f6e78
call fcn.1000209b
mov word [ebp - 0x238], 0x3bcf
test dword [ebp - 0x220], 0xf0
jne 0x100040cd
call fcn.100074ec
mov eax, dword [ebp - 0x238]
or eax, edx
mov dword [0x1000c210], eax
mov eax, dword [ebp - 0x220]
cmp eax, dword [0x100099f7]
je 0x1000413d
mov dword [ebp - 0x238], 0x1b47e3d8
mov eax, dword [ebp - 0x220]
add eax, 0x599c42bf
push eax
mov ecx, dword [ebp - 0x220]
sub ecx, 0xa663bd41
push ecx
mov byte [ebp - 0x238], 0xfe
mov ecx, dword [ebp - 0x220]
add ecx, 0x599c42bf
push ecx
mov dword [ebp - 0x214], 0x85dfea13
mov eax, dword [ebp - 0x214]
xor edx, edx
div dword [ebp - 0x220]
mov dword [ebp - 0x228], edx
mov edx, dword [ebp - 0x220]
sub edx, 0xa663bcdf
push edx
mov word [ebp - 0x238], 0xf529
call fcn.100061a1
mov dword [ebp - 4], eax
add esp, 0x10
mov esp, ebp
pop ebp
ret