Function at 0x4826e0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x6d7160]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
movsx eax, word [edi + 0x20]
cmp esi, eax
jge 0x482a23
xor ebx, ebx
cmp esi, ebx
jl 0x482a23
imul esi, esi, 0x68
add esi, dword [edi + 0x90]
add edi, 0x49c
cmp dword [edi + 0x14], ebx
mov eax, dword [esi + 0x64]
mov dword [ebp - 8], edi
je 0x482736
mov ecx, dword [edi + 0x1c]
cmp ecx, eax
ja 0x482731
mov eax, ecx
mov dword [edi + 0x18], eax
jmp 0x482744
mov ecx, dword [edi + 4]
push ebx
push eax
push ecx
call fcn.006081d8
add esp, 0xc
mov edx, dword [esi + 4]
cmp edx, dword [esi + 0xc]
je 0x482a3b
mov eax, dword [esi + 8]
cmp eax, dword [esi]
je 0x482a3b
movzx eax, word [esi + 0x10]
cmp ax, 4
jbe 0x482774
mov ecx, dword [ebp + 0xc]
mov dword [ecx], ebx
mov eax, 3
jmp 0x482a25
cmp ax, bx
mov dword [ebp - 0x18], ebx
jbe 0x4829d9
mov edx, dword [esi + 0x14]
mov eax, dword [ebp - 0x18]
movsx eax, word [edx + eax*2]
cmp eax, 3
mov dword [ebp - 0xc], ebx
ja case.default.0x482792
jmp dword [eax*4 + 0x482a48]
mov dword [ebp - 0xc], 3
jmp case.default.0x482792
mov dword [ebp - 0xc], 2
jmp case.default.0x482792
mov dword [ebp - 0xc], 1
jmp case.default.0x482792
mov dword [ebp - 0xc], ebx
cmp dword [edi + 0x14], ebx
je 0x4827d2
mov eax, 2
lea ebx, [esi + 0x54]
call fcn.00410220
mov edi, dword [ebp - 8]
shr eax, 1
xor ebx, ebx
jmp 0x4827ee
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x4827ec
push eax
push 1
lea eax, [esi + 0x54]
push 2
push eax
call fcn.0060860a
add esp, 0x10
jmp 0x4827ee
xor eax, eax
cmp eax, 1
jne 0x482a40
mov cx, word [esi + 0x54]
rol cx, 8
movzx eax, cx
cmp ax, 1
mov word [esi + 0x54], cx
jne 0x482948
mov dword [ebp - 0x14], ebx
mov ebx, dword [esi + 0xc]
sub ebx, dword [esi + 4]
lea eax, [ebx + ebx]
call fcn.00616f40
mov eax, esp
test eax, eax
mov dword [ebp - 0x1c], eax
je 0x4829d2
test ebx, ebx
mov dword [ebp - 0x10], 0
jbe 0x4828a8
mov ebx, eax
jmp 0x482840
cmp dword [edi + 0x14], 0
je 0x482857
mov eax, 2
call fcn.00410220
mov edi, dword [ebp - 8]
shr eax, 1
jmp 0x482870
mov eax, dword [edi + 4]
test eax, eax
je 0x48286e
push eax
push 1
push 2
push ebx
call fcn.0060860a
add esp, 0x10
jmp 0x482870
xor eax, eax
cmp eax, 1
jne 0x482a40
mov dx, word [ebx]
rol dx, 8
movzx eax, dx
cmp ax, word [ebp - 0x14]
mov word [ebx], dx
jbe 0x482892
movzx eax, ax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [esi + 0xc]
sub ecx, dword [esi + 4]
add eax, 1
add ebx, 2
cmp eax, ecx
mov dword [ebp - 0x10], eax
jb 0x482840
movzx eax, word [ebp - 0x14]
call fcn.00616f40
mov ebx, esp
test ebx, ebx
je 0x4829d2
mov eax, edi
call fcn.00410270
cmp dword [edi + 0x14], 0
mov edx, eax
mov dword [ebp - 0x10], edx
je 0x4828dc
mov eax, 2
call fcn.00410220
mov edi, dword [ebp - 8]
jmp 0x4828f1
mov eax, dword [edi + 4]
test eax, eax
je 0x4828f4
push eax
push 2
push 1
push ebx
call fcn.0060860a
add esp, 0x10
mov edx, dword [ebp - 0x10]
mov al, byte [ebx + 1]
mov ecx, dword [ebp - 0xc]
mov ebx, dword [ebp + 0xc]
mov byte [ecx + ebx], al
mov ecx, dword [esi + 0xc]
xor eax, eax
sub ecx, dword [esi + 4]
je 0x482920
lea ebx, [ebx]
mov ebx, dword [ebp - 0x1c]
movzx ebx, word [ebx + eax*2]
add eax, 1
add edx, ebx
cmp eax, ecx
jb 0x482910
cmp dword [edi + 0x14], 0
je 0x482937
mov eax, dword [edi + 0x1c]
cmp eax, edx
jbe 0x48292f
mov eax, edx
mov dword [edi + 0x18], eax
jmp 0x4829ba
push 0
push edx
mov edx, dword [edi + 4]
push edx
call fcn.006081d8
add esp, 0xc
jmp 0x4829ba
cmp ax, bx
jne 0x482a40
mov ebx, dword [esi + 0xc]
sub ebx, dword [esi + 4]
mov eax, dword [esi + 8]
sub eax, dword [esi]
imul ebx, eax
add ebx, 1
mov eax, edi
and ebx, 0xfffffffe
call fcn.00410270
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0xc]
mov edi, eax
add edi, ebx
lea ebx, [edx + ecx]
mov ecx, dword [ebp - 8]
cmp dword [ecx + 0x14], 0
mov dword [ebp - 0x1c], edi
je 0x482996
mov eax, 1
mov edi, ecx
call fcn.00410220
mov edi, dword [ebp - 0x1c]
jmp 0x4829ab
mov eax, dword [ecx + 4]
test eax, eax
je 0x4829ae
push eax
push 1
push 1
push ebx
call fcn.0060860a
add esp, 0x10
mov ecx, dword [ebp - 8]
mov edx, edi
mov eax, ecx
call fcn.00407090
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
movzx ecx, word [esi + 0x10]
add eax, 1
cmp eax, ecx
mov dword [ebp - 0x18], eax
jge 0x4829d9
xor ebx, ebx
jmp 0x482780
mov eax, 4
jmp 0x482a25
cmp byte [ebp + 0x10], 0
je 0x482a23
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, eax
shr ecx, 0x18
add ecx, 1
mov esi, eax
and esi, 0xffff00ff
mov edi, eax
imul esi, ecx
and edi, 0xff00
imul edi, ecx
xor esi, edi
mov edi, eax
and edi, 0xff00ff
imul edi, ecx
and esi, 0xff0000
xor esi, edi
shr esi, 8
and eax, 0xff000000
or esi, eax
mov dword [edx], esi
xor eax, eax
lea esp, [ebp - 0x28]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00607d6d
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [ebp + 0xc]
mov dword [edx], ebx
mov eax, 3
jmp 0x482a25