Function at 0x100031c0
Capabilities:
Move file
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x282c
call fcn.100a7a90
mov eax, dword [0x101e3070]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0x14]
lea eax, [ebp - 0x1008]
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0x10]
push 0x800
push 0
mov dword [ebp - 0x2824], esi
mov esi, dword [ebp + 0xc]
push eax
mov dword [ebp - 0x2828], edi
mov dword [ebp - 0x180c], ebx
call fcn.10154a20
add esp, 0xc
lea eax, [ebp - 0x808]
push 0x800
push 0
push eax
call fcn.10154a20
add esp, 0xc
lea eax, [ebp - 0x1808]
push 0x800
push 0
push eax
call fcn.10154a20
add esp, 0xc
lea eax, [ebp - 0x2820]
push 0x1010
push 0
push eax
call fcn.10154a20
add esp, 0xc
lea eax, [ebp - 0x1808]
push ebx
push edi
push 0x101cf3f4
push eax
call fcn.100011a0
mov ecx, ebx
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10003270
sub ecx, edx
cmp ecx, 4
jl 0x100032ab
lea eax, [ebx - 4]
add eax, ecx
push str..otg
push eax
call fcn.1016674b
add esp, 8
test eax, eax
jne 0x100032ab
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100a66bf
mov esp, ebp
pop ebp
ret 0x20
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100032b0
lea eax, [ebp - 0x1008]
push ebx
push edi
push esi
sub ecx, edx
je 0x100032e1
push str._s__s__s
push eax
call fcn.100011a0
add esp, 0x14
push str..otg
push ebx
push edi
push esi
push str._s__s__s_s
jmp 0x100032fc
push str._s_s__s
push eax
call fcn.100011a0
add esp, 0x14
push str..otg
push ebx
push edi
push esi
push str._s_s__s_s
lea eax, [ebp - 0x808]
push eax
call fcn.100011a0
add esp, 0x18
cmp dword [ebp + 0x20], 0
jne 0x10003356
lea ecx, [ebp - 0x1008]
call fcn.10011fe0
lea ecx, [ebp - 0x808]
mov edi, eax
call fcn.10011fe0
mov ebx, eax
push ebx
push edi
call fcn.10163c4c
push edi
mov esi, eax
call fcn.1015bd72
add esp, 0xc
push ebx
call fcn.1015bd72
add esp, 4
test esi, esi
jne 0x10003611
mov ebx, dword [ebp - 0x180c]
jmp 0x10003375
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x1008]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x809], al
test al, al
jne 0x10003360
lea ecx, [ebp - 0x808]
call fcn.10011fe0
push 0
mov esi, eax
lea eax, [ebp - 0x180c]
push eax
push 0
push 0x40
push 0x8000
push esi
call fcn.10164390
mov edi, dword [ebp - 0x180c]
or ecx, 0xffffffff
test eax, eax
push esi
cmovne edi, ecx
call fcn.1015bd72
add esp, 0x1c
cmp edi, 0xffffffff
je 0x100035cd
push 2
push 0
push 0
push edi
call fcn.101627d4
push 0x800
push dword [ebp - 0x2828]
mov dword [ebp - 0x282c], eax
lea eax, [ebp - 0x281c]
push eax
mov dword [ebp - 0x180c], edx
call fcn.1015aaa0
add esp, 0x1c
lea eax, [ebp - 0x201c]
push 0x800
push ebx
push eax
call fcn.1015aaa0
mov eax, dword [ebp + 0x18]
add esp, 0xc
mov ebx, dword [ebp - 0x2824]
mov dword [ebp - 0x1818], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x1814], eax
lea eax, [ebp - 0x2820]
push 0x1010
lea esi, [ebx + 0x2c]
mov dword [ebp - 0x2820], 0x44c
push eax
push esi
mov dword [ebp - 0x2828], esi
call fcn.101544a0
add esp, 0xc
mov dword [ebx + 8], 0x1010
mov ecx, ebx
call fcn.10016eb0
test eax, eax
js 0x100035ba
mov ecx, ebx
call fcn.10016d90
test eax, eax
js 0x10003295
push dword [ebx + 8]
lea eax, [ebp - 0x2820]
push esi
push eax
call fcn.101544a0
mov eax, dword [ebp - 0x2820]
add esp, 0xc
cmp eax, 0x44d
je 0x1000363d
cmp eax, 0x452
jne 0x10003636
push 0
push dword [ebp - 0x1814]
push dword [ebp - 0x1818]
push edi
call fcn.101627d4
push 0x32010
call fcn.101609af
add esp, 0x14
mov esi, eax
push 0x32010
push 0
push esi
call fcn.10154a20
add esp, 0xc
lea eax, [esi + 4]
push 0x32000
push eax
push edi
call fcn.10162d38
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x1000356f
push 1
push 0
push 0
push edi
call fcn.101627d4
add esp, 0x10
cmp dword [ebp - 0x180c], edx
jg 0x1000350d
jl 0x10003505
cmp dword [ebp - 0x282c], eax
ja 0x1000350d
mov dword [esi], 0x45b
jmp 0x10003513
mov dword [esi], 0x457
push 0x32010
push esi
push dword [ebp - 0x2828]
mov dword [esi + 0x32008], ebx
mov dword [esi + 0x3200c], 0
call fcn.101544a0
mov eax, dword [ebp - 0x2824]
add esp, 0xc
mov ecx, eax
mov dword [eax + 8], 0x32010
call fcn.10016eb0
test eax, eax
js 0x1000362b
push 0x32000
lea eax, [esi + 4]
push eax
push edi
call fcn.10162d38
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x100034e4
push esi
call fcn.1015bd72
mov esi, dword [ebp - 0x2824]
add esp, 4
mov ecx, esi
mov dword [esi + 8], 0x1010
call fcn.10016d90
test eax, eax
js 0x10003295
push dword [esi + 8]
lea eax, [esi + 0x2c]
push eax
lea eax, [ebp - 0x2820]
push eax
call fcn.101544a0
add esp, 0xc
cmp dword [ebp - 0x2820], 0x45c
je 0x1000363d
mov ebx, 0xfffffffd
push edi
call fcn.101632aa
add esp, 4
cmp ebx, 0xffffffff
jne 0x100035d2
mov ebx, 0xffffffec
mov eax, dword [ebp + 0x20]
test eax, eax
jne 0x1000360c
lea ecx, [ebp - 0x808]
call fcn.10011fe0
lea ecx, [ebp - 0x1008]
mov esi, eax
call fcn.10011fe0
mov edi, eax
push edi
push esi
call fcn.10163c4c
push esi
call fcn.1015bd72
add esp, 0xc
push edi
call fcn.1015bd72
add esp, 4
cmp ebx, 0xffffffff
jne 0x10003616
mov ebx, 0xffffffec
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100a66bf
mov esp, ebp
pop ebp
ret 0x20
push esi
call fcn.1015bd72
add esp, 4
jmp 0x100035ba
mov ebx, 0xffffffec
jmp 0x100035bf
push edi
call fcn.101632aa
add esp, 4
cmp dword [ebp + 0x24], 0
jne 0x10003683
lea ecx, [ebp - 0x808]
call fcn.10011fe0
mov esi, eax
push esi
call fcn.10157582
add esp, 4
push esi
call fcn.1015bd72
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100a66bf
mov esp, ebp
pop ebp
ret 0x20
mov eax, dword [ebp + 0x20]
test eax, eax
jne 0x100036bd
lea ecx, [ebp - 0x808]
call fcn.10011fe0
lea ecx, [ebp - 0x1008]
mov esi, eax
call fcn.10011fe0
mov edi, eax
push edi
push esi
call fcn.10163c4c
push esi
call fcn.1015bd72
add esp, 0xc
push edi
call fcn.1015bd72
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100a66bf
mov esp, ebp
pop ebp
ret 0x20