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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x20e
push 0
push 0
dec ecx
jne 0x485ae5
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov word [ebp - 4], cx
mov word [ebp - 2], dx
mov esi, eax
lea edi, [ebp - 0x20]
xor eax, eax
push ebp
push 0x48645d
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0x838]
call fcn.00483de4
mov eax, dword [ebp + 0xc]
call fcn.00483de4
xor eax, eax
mov dword [edi], eax
movzx eax, word [ebp - 4]
mov edx, eax
shr edx, 6
mov dword [ebp - 0x18], edx
and eax, 0x3f
test eax, eax
je 0x485b45
inc dword [ebp - 0x18]
lea eax, [ebp - 0xc]
mov edx, 0x486478
call fcn.004041cc
mov ecx, 4
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.00483bdc
mov edx, eax
lea eax, [ebp - 0x103c]
call fcn.0040431c
mov edx, dword [ebp - 0x103c]
lea eax, [ebp - 0xc]
call fcn.004043fc
xor eax, eax
push ebp
push 0x48640d
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push edi
mov eax, dword [ebp - 0xc]
call fcn.004043f4
push eax
mov eax, dword [ebp - 0xc]
call fcn.004045f4
push eax
push esi
call sub.kernel32.dll_WriteFile_1
test eax, eax
jne 0x485bb8
mov dword [ebp - 0x1c], 1
call fcn.0040bdbc
xor ecx, ecx
mov dl, 1
mov eax, dword [0x484660]
call fcn.00464bec
mov ebx, eax
mov edx, 0x486488
mov eax, ebx
call fcn.00484848
mov eax, ebx
call fcn.00468f44
mov eax, ebx
call fcn.0044cb88
xor eax, eax
mov dword [edi], eax
jmp 0x485c19
lea eax, [ebp - 0x24]
xor edx, edx
call fcn.00484964
push 0
push edi
push 0x50
lea eax, [ebp - 0x838]
push eax
push esi
call sub.kernel32.dll_ReadFile
test eax, eax
jne 0x485c0d
call fcn.0040bdbc
mov eax, dword [0x49287c]
mov eax, dword [eax]
call fcn.0046c318
cmp dword [ebp - 0x24], 0x64
jge 0x485c24
cmp dword [edi], 0x15
jb 0x485be8
mov eax, ebx
call fcn.004033e4
cmp dword [ebp - 0x24], 0x64
jl 0x485c3d
mov dword [ebp - 0x1c], 1
call fcn.0040bdbc
cmp dword [edi], 0x15
je 0x485c4e
mov dword [ebp - 0x1c], 2
call fcn.0040bdbc
mov ecx, 0x13
xor edx, edx
lea eax, [ebp - 0x838]
call fcn.00483c3c
cmp al, byte [ebp - 0x824]
je 0x485c74
mov dword [ebp - 0x1c], 3
call fcn.0040bdbc
push 0x486498
mov al, 0x46
call fcn.004849e0
mov edx, eax
lea eax, [ebp - 0x1040]
call fcn.0040431c
push dword [ebp - 0x1040]
mov al, 0x72
call fcn.004849e0
mov edx, eax
lea eax, [ebp - 0x1044]
call fcn.0040431c
push dword [ebp - 0x1044]
movzx ebx, word [ebp - 4]
mov eax, ebx
and eax, 0xff
call fcn.004849e0
mov edx, eax
lea eax, [ebp - 0x1048]
call fcn.0040431c
push dword [ebp - 0x1048]
mov eax, ebx
shr eax, 8
call fcn.004849e0
mov edx, eax
lea eax, [ebp - 0x104c]
call fcn.0040431c
push dword [ebp - 0x104c]
movzx eax, word [ebp - 2]
and eax, 0xff
call fcn.004849e0
mov edx, eax
lea eax, [ebp - 0x1050]
call fcn.0040431c
push dword [ebp - 0x1050]
movzx eax, word [ebp - 2]
and eax, 0xff
call fcn.004849e0
mov edx, eax
lea eax, [ebp - 0x1054]
call fcn.0040431c
push dword [ebp - 0x1054]
mov al, 0x12
call fcn.004849e0
mov edx, eax
lea eax, [ebp - 0x1058]
call fcn.0040431c
push dword [ebp - 0x1058]
mov al, 0x34
call fcn.004849e0
mov edx, eax
lea eax, [ebp - 0x105c]
call fcn.0040431c
push dword [ebp - 0x105c]
lea eax, [ebp - 0xc]
mov edx, 9
call fcn.004044b4
mov ecx, 0xe
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.00483bdc
mov edx, eax
lea eax, [ebp - 0x1060]
call fcn.0040431c
mov edx, dword [ebp - 0x1060]
lea eax, [ebp - 0xc]
call fcn.004043fc
push 0
push edi
mov eax, dword [ebp - 0xc]
call fcn.004043f4
push eax
mov eax, dword [ebp - 0xc]
call fcn.004045f4
push eax
push esi
call sub.kernel32.dll_WriteFile_1
test eax, eax
jne 0x485dc8
mov dword [ebp - 0x1c], 4
call fcn.0040bdbc
lea eax, [ebp - 0x838]
call fcn.00483de4
mov ebx, 0x15
xor eax, eax
mov dword [edi], eax
push 0x14
call sub.kernel32.dll_Sleep
push 0
push edi
push 0x50
lea eax, [ebp - 0x838]
push eax
push esi
call sub.kernel32.dll_ReadFile
test eax, eax
jne 0x485dfe
call fcn.0040bdbc
cmp dword [edi], 0
ja 0x485e06
dec ebx
jne 0x485dd8
cmp dword [edi], 0x10
je 0x485e17
mov dword [ebp - 0x1c], 5
call fcn.0040bdbc
xor ecx, ecx
mov cl, byte [ebp - 0x837]
sub ecx, 2
xor edx, edx
lea eax, [ebp - 0x838]
call fcn.00483c3c
xor edx, edx
mov dl, byte [ebp - 0x837]
cmp al, byte [ebp + edx - 0x839]
je 0x485e4c
mov dword [ebp - 0x1c], 6
call fcn.0040bdbc
push 0x32
call sub.kernel32.dll_Sleep
xor ebx, ebx
lea eax, [ebp - 0x1038]
mov dword [ebp - 0x30], eax
lea eax, [ebx + 7]
mov al, byte [ebp + eax - 0x838]
call fcn.004849e0
mov edx, dword [ebp - 0x30]
mov byte [edx], al
inc ebx
inc dword [ebp - 0x30]
cmp ebx, 8
jne 0x485e5e
lea eax, [ebp - 0x1038]
call fcn.00483b38
lea eax, [ebp - 0xc]
mov edx, 0x4864a8
call fcn.004041cc
mov ebx, 8
lea eax, [ebp - 0x1038]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov al, byte [eax]
call fcn.004849e0
mov edx, eax
lea eax, [ebp - 0x1064]
call fcn.0040431c
mov edx, dword [ebp - 0x1064]
lea eax, [ebp - 0xc]
call fcn.004043fc
inc dword [ebp - 0x34]
dec ebx
jne 0x485ea1
mov ecx, 0xe
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.00483bdc
mov edx, eax
lea eax, [ebp - 0x1068]
call fcn.0040431c
mov edx, dword [ebp - 0x1068]
lea eax, [ebp - 0xc]
call fcn.004043fc
push 0
push edi
mov eax, dword [ebp - 0xc]
call fcn.004043f4
push eax
mov eax, dword [ebp - 0xc]
call fcn.004045f4
push eax
push esi
call sub.kernel32.dll_WriteFile_1
test eax, eax
jne 0x485f24
mov dword [ebp - 0x1c], 7
call fcn.0040bdbc
lea eax, [ebp - 0x838]
call fcn.00483de4
mov ebx, 0x15
xor eax, eax
mov dword [edi], eax
push 0x32
call sub.kernel32.dll_Sleep
push 0
push edi
push 0x50
lea eax, [ebp - 0x838]
push eax
push esi
call sub.kernel32.dll_ReadFile
test eax, eax
jne 0x485f5a
call fcn.0040bdbc
cmp dword [edi], 0
ja 0x485f62
dec ebx
jne 0x485f34
cmp dword [edi], 8
je 0x485f73
mov dword [ebp - 0x1c], 8
call fcn.0040bdbc
xor ecx, ecx
mov cl, byte [ebp - 0x837]
sub ecx, 2
xor edx, edx
lea eax, [ebp - 0x838]
call fcn.00483c3c
xor edx, edx
mov dl, byte [ebp - 0x837]
cmp al, byte [ebp + edx - 0x839]
je 0x485fa8
mov dword [ebp - 0x1c], 9
call fcn.0040bdbc
push 0xa
call sub.kernel32.dll_Sleep
lea eax, [ebp - 0xc]
mov edx, 0x4864b8
call fcn.004041cc
mov ecx, 6
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.00483bdc
mov edx, eax
lea eax, [ebp - 0x106c]
call fcn.0040431c
mov edx, dword [ebp - 0x106c]
lea eax, [ebp - 0xc]
call fcn.004043fc
push 0
push edi
mov eax, dword [ebp - 0xc]
call fcn.004043f4
push eax
mov eax, dword [ebp - 0xc]
call fcn.004045f4
push eax
push esi
call sub.kernel32.dll_WriteFile_1
test eax, eax
jne 0x486014
mov dword [ebp - 0x1c], 0xa
call fcn.0040bdbc
lea eax, [ebp - 0x838]
call fcn.00483de4
mov ebx, 0x15
xor eax, eax
mov dword [edi], eax
push 0x14
call sub.kernel32.dll_Sleep
push 0
push edi
push 0x50
lea eax, [ebp - 0x838]
push eax
push esi
call sub.kernel32.dll_ReadFile
test eax, eax
jne 0x48604a
call fcn.0040bdbc
cmp dword [edi], 0
ja 0x486052
dec ebx
jne 0x486024
cmp dword [edi], 8
ja 0x486063
mov dword [ebp - 0x1c], 0xb
call fcn.0040bdbc
xor ecx, ecx
mov cl, byte [ebp - 0x837]
sub ecx, 2
xor edx, edx
lea eax, [ebp - 0x838]
call fcn.00483c3c
xor edx, edx
mov dl, byte [ebp - 0x837]
cmp al, byte [ebp + edx - 0x839]
je 0x486098
mov dword [ebp - 0x1c], 0xc
call fcn.0040bdbc
push 1
xor ecx, ecx
mov cl, byte [ebp - 0x834]
sub ecx, 2
mov edx, 7
lea eax, [ebp - 0x838]
call fcn.004842ec
xor edx, edx
mov dl, byte [ebp - 0x837]
cmp al, byte [ebp + edx - 0x83a]
je 0x4860d2
mov dword [ebp - 0x1c], 0xd
call fcn.0040bdbc
cmp word [ebp - 4], 0x40
jb 0x4860de
cmp dword [edi], 0x49
je 0x4860e3
call fcn.0040bdbc
cmp word [ebp - 4], 0x40
jae 0x4860fa
movzx eax, word [ebp - 4]
add eax, 9
cmp eax, dword [edi]
je 0x4860fa
call fcn.0040bdbc
xor eax, eax
mov al, byte [ebp - 0x837]
sub eax, 3
sub eax, 7
jl 0x48612f
inc eax
mov dword [ebp - 0x28], eax
lea ebx, [ebp - 0x831]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x38], eax
mov al, byte [ebx]
call fcn.004849e0
mov edx, dword [ebp - 0x38]
mov byte [edx], al
inc dword [ebp - 0x38]
inc ebx
dec dword [ebp - 0x28]
jne 0x48611a
mov eax, dword [ebp - 0x18]
dec eax
test eax, eax
jle 0x486403
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 1
push 0xc8
call sub.kernel32.dll_Sleep
lea eax, [ebp - 0xc]
mov edx, 0x4864c8
call fcn.004041cc
mov ecx, 7
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.00483bdc
mov edx, eax
lea eax, [ebp - 0x1070]
call fcn.0040431c
mov edx, dword [ebp - 0x1070]
lea eax, [ebp - 0xc]
call fcn.004043fc
push 0x14
call sub.kernel32.dll_Sleep
push 0
push edi
mov eax, dword [ebp - 0xc]
call fcn.004043f4
push eax
mov eax, dword [ebp - 0xc]
call fcn.004045f4
push eax
push esi
call sub.kernel32.dll_WriteFile_1
test eax, eax
jne 0x4861bb
mov dword [ebp - 0x1c], 0xe
call fcn.0040bdbc
lea eax, [ebp - 0x838]
call fcn.00483de4
mov ebx, 0x33
xor eax, eax
mov dword [edi], eax
push 0x14
call sub.kernel32.dll_Sleep
push 0
push edi
push 0x50
lea eax, [ebp - 0x838]
push eax
push esi
call sub.kernel32.dll_ReadFile
test eax, eax
jne 0x4861f1
call fcn.0040bdbc
cmp dword [edi], 0
ja 0x4861f9
dec ebx
jne 0x4861cb
cmp dword [edi], 8
je 0x48620a
mov dword [ebp - 0x1c], 0xf
call fcn.0040bdbc
xor ecx, ecx
mov cl, byte [ebp - 0x837]
sub ecx, 2
xor edx, edx
lea eax, [ebp - 0x838]
call fcn.00483c3c
xor edx, edx
mov dl, byte [ebp - 0x837]
cmp al, byte [ebp + edx - 0x839]
je 0x48623f
mov dword [ebp - 0x1c], 0x10
call fcn.0040bdbc
lea eax, [ebp - 0xc]
mov edx, 0x4864b8
call fcn.004041cc
mov ecx, 6
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.00483bdc
mov edx, eax
lea eax, [ebp - 0x1074]
call fcn.0040431c
mov edx, dword [ebp - 0x1074]
lea eax, [ebp - 0xc]
call fcn.004043fc
push 0
push edi
mov eax, dword [ebp - 0xc]
call fcn.004043f4
push eax
mov eax, dword [ebp - 0xc]
call fcn.004045f4
push eax
push esi
call sub.kernel32.dll_WriteFile_1
test eax, eax
jne 0x4862a4
mov dword [ebp - 0x1c], 0x11
call fcn.0040bdbc
lea eax, [ebp - 0x838]
call fcn.00483de4
mov ebx, 0x33
xor eax, eax
mov dword [edi], eax
push 0x14
call sub.kernel32.dll_Sleep
push 0
push edi
push 0x50
lea eax, [ebp - 0x838]
push eax
push esi
call sub.kernel32.dll_ReadFile
test eax, eax
jne 0x4862da
call fcn.0040bdbc
cmp dword [edi], 0
ja 0x4862e2
dec ebx
jne 0x4862b4
cmp dword [edi], 8
ja 0x4862f3
mov dword [ebp - 0x1c], 0x12
call fcn.0040bdbc
mov eax, dword [ebp - 0x18]
dec eax
cmp eax, dword [ebp - 0x10]
jne 0x486305
movzx ebx, word [ebp - 4]
and ebx, 0x3f
jmp 0x48630a
mov ebx, 0x40
test ebx, ebx
jne 0x486313
mov ebx, 0x40
cmp ebx, 0x40
jne 0x48631d
cmp dword [edi], 0x49
je 0x486322
call fcn.0040bdbc
cmp ebx, 0x40
jge 0x486343
mov eax, dword [edi]
xor edx, edx
push edx
push eax
lea eax, [ebx + 9]
cdq
cmp edx, dword [esp + 4]
jne 0x48633a
cmp eax, dword [esp]
pop edx
pop eax
je 0x486343
call fcn.0040bdbc
xor ecx, ecx
mov cl, byte [ebp - 0x837]
sub ecx, 2
xor edx, edx
lea eax, [ebp - 0x838]
call fcn.00483c3c
xor edx, edx
mov dl, byte [ebp - 0x837]
cmp al, byte [ebp + edx - 0x839]
je 0x486378
mov dword [ebp - 0x1c], 0x13
call fcn.0040bdbc
push 1
xor ecx, ecx
mov cl, byte [ebp - 0x834]
sub ecx, 2
mov edx, 7
lea eax, [ebp - 0x838]
call fcn.004842ec
xor edx, edx
mov dl, byte [ebp - 0x837]
cmp al, byte [ebp + edx - 0x83a]
je 0x4863b2
mov dword [ebp - 0x1c], 0x14
call fcn.0040bdbc
xor eax, eax
mov al, byte [ebp - 0x837]
sub eax, 3
sub eax, 7
jl 0x4863f7
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x14], 7
lea ebx, [ebp - 0x831]
mov al, byte [ebx]
call fcn.004849e0
mov edx, dword [ebp - 0x14]
sub edx, 7
mov ecx, dword [ebp - 0x10]
shl ecx, 6
add edx, ecx
mov ecx, dword [ebp + 0xc]
mov byte [ecx + edx], al
inc dword [ebp - 0x14]
inc ebx
dec dword [ebp - 0x2c]
jne 0x4863d3
inc dword [ebp - 0x10]
dec dword [ebp - 0x28]
jne 0x486145
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x486437
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x486464
lea eax, [ebp - 0x1078]
mov edx, 0x10
call fcn.00404158
lea eax, [ebp - 0xc]
call fcn.00404134
ret