Function at 0x5b0b30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x50
mov eax, dword [esp + 0x54]
push ebx
push ebp
push esi
xor esi, esi
push edi
cmp eax, esi
mov dword [esp + 0x3c], ecx
jne 0x5b0b60
push esi
push esi
push str.SiplProcess____siplRotateI:_Data_pointer_is_NULL
call fcn.0062dd90
pop edi
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0x50
ret 0x18
mov ebp, dword [esp + 0x70]
cmp ebp, esi
jle 0x5b174c
mov edx, dword [esp + 0x74]
cmp edx, esi
jle 0x5b174c
cmp dword [esp + 0x68], esi
jle 0x5b174c
mov eax, dword [ecx + 0x10]
cmp eax, esi
mov dword [esp + 0x38], eax
jne 0x5b0b9c
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x50
ret 0x18
cmp eax, 0x5a
jne 0x5b0cee
push esi
push edx
lea eax, [esp + 0x78]
push ebp
push eax
mov dword [esp + 0x80], esi
call fcn.0040727a
mov edx, dword [esp + 0x80]
add esp, 0x10
cmp edx, esi
je 0x5b0bff
mov eax, dword [esp + 0x74]
test eax, eax
jle 0x5b0bff
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x6c], ecx
mov edi, dword [edx]
mov ecx, ebp
mov ebx, ecx
mov esi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
add eax, ebp
and ecx, 3
add edx, 4
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x6c]
dec ecx
mov dword [esp + 0x6c], ecx
jne 0x5b0bdb
mov eax, dword [esp + 0x74]
xor esi, esi
test eax, eax
jle 0x5b0c50
mov edx, dword [esp + 0x70]
mov dword [esp + 0x6c], edx
xor eax, eax
test ebp, ebp
jle 0x5b0c3c
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
mov ebx, ecx
sub ebx, esi
inc eax
mov edx, dword [edx]
mov dl, byte [eax + edx - 1]
mov byte [ebx + edi - 1], dl
mov ebx, dword [esp + 0x68]
add ecx, ebx
cmp eax, ebp
jl 0x5b0c1f
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x74]
inc esi
add ecx, 4
cmp esi, eax
mov dword [esp + 0x6c], ecx
jl 0x5b0c11
mov eax, dword [esp + 0x70]
test eax, eax
je 0x5b0f82
mov eax, dword [esp + 0x74]
xor esi, esi
test eax, eax
jle 0x5b0cc7
mov ebx, dword [sym.imp.KERNEL32.dll_HeapSize]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov ebp, dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + esi*4]
push ecx
push 0
call edi
push eax
call ebx
mov ecx, dword [0x6f2538]
mov edx, dword [0x6f253c]
sub ecx, eax
sbb edx, 0
mov dword [0x6f2538], ecx
mov dword [0x6f253c], edx
mov edx, dword [esp + 0x70]
mov eax, dword [edx + esi*4]
push eax
push 0
call edi
push eax
call ebp
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
mov dword [ecx + esi*4], 0
inc esi
cmp esi, eax
jl 0x5b0c78
mov edx, dword [esp + 0x70]
push edx
call fcn.00619f6b
mov eax, dword [0x6f252c]
add esp, 4
dec eax
pop edi
pop esi
mov dword [0x6f252c], eax
pop ebp
mov eax, 1
pop ebx
add esp, 0x50
ret 0x18
cmp eax, 0xb4
jne 0x5b0e4c
push esi
push edx
lea eax, [esp + 0x78]
push ebp
push eax
mov dword [esp + 0x80], esi
call fcn.0040727a
mov edx, dword [esp + 0x80]
add esp, 0x10
cmp edx, esi
je 0x5b0d57
mov eax, dword [esp + 0x74]
test eax, eax
jle 0x5b0d57
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x20], ecx
mov edi, dword [edx]
mov ecx, ebp
mov ebx, ecx
mov esi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
add eax, ebp
and ecx, 3
add edx, 4
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x20]
dec ecx
mov dword [esp + 0x20], ecx
jne 0x5b0d2f
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
test eax, eax
jle 0x5b0d9c
mov ecx, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
mov esi, edx
mov dword [esp + 0x74], eax
lea edi, [ecx + edi - 1]
xor eax, eax
test ebp, ebp
jle 0x5b0d88
mov ecx, edi
mov ebx, dword [esi]
inc eax
dec ecx
cmp eax, ebp
mov bl, byte [ebx + eax - 1]
mov byte [ecx + 1], bl
jl 0x5b0d79
mov ebx, dword [esp + 0x68]
mov eax, dword [esp + 0x74]
add edi, ebx
add esi, 4
dec eax
mov dword [esp + 0x74], eax
jne 0x5b0d71
test edx, edx
je 0x5b0f82
mov ebx, dword [esp + 0x6c]
test ebx, ebx
jge 0x5b0dc9
push 0
push 0
push 0x69fa28
call fcn.0062dd90
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x50
ret 0x18
xor esi, esi
test ebx, ebx
jle 0x5b0e29
mov ebp, dword [sym.imp.KERNEL32.dll_HeapSize]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, dword [edx + esi*4]
push edx
push 0
call edi
push eax
call ebp
mov ecx, dword [0x6f2538]
sub ecx, eax
mov eax, dword [0x6f253c]
sbb eax, 0
mov dword [0x6f2538], ecx
mov dword [0x6f253c], eax
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + esi*4]
push ecx
push 0
call edi
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edx, dword [esp + 0x70]
inc esi
cmp esi, ebx
mov dword [edx + esi*4 - 4], 0
mov edx, dword [esp + 0x70]
jl 0x5b0ddb
push edx
call fcn.00619f6b
mov eax, dword [0x6f252c]
add esp, 4
dec eax
pop edi
pop esi
mov dword [0x6f252c], eax
pop ebp
mov eax, 1
pop ebx
add esp, 0x50
ret 0x18
cmp eax, 0x10e
jne 0x5b0f91
push esi
push edx
lea eax, [esp + 0x78]
push ebp
push eax
mov dword [esp + 0x80], esi
call fcn.0040727a
mov edx, dword [esp + 0x80]
add esp, 0x10
cmp edx, esi
je 0x5b0eb5
mov eax, dword [esp + 0x74]
test eax, eax
jle 0x5b0eb5
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x20], ecx
mov edi, dword [edx]
mov ecx, ebp
mov ebx, ecx
mov esi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
add eax, ebp
and ecx, 3
add edx, 4
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x20]
dec ecx
mov dword [esp + 0x20], ecx
jne 0x5b0e8d
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
xor ebx, ebx
test eax, eax
jle 0x5b0f02
mov edi, edx
mov edx, dword [esp + 0x68]
xor ecx, ecx
test ebp, ebp
jle 0x5b0ef6
mov eax, dword [esp + 0x6c]
mov esi, edx
neg esi
dec eax
imul eax, edx
mov edx, dword [esp + 0x64]
add eax, ebx
add eax, edx
mov edx, dword [edi]
inc ecx
mov dl, byte [ecx + edx - 1]
mov byte [eax], dl
add eax, esi
cmp ecx, ebp
jl 0x5b0edf
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x68]
inc ebx
add edi, 4
cmp ebx, eax
jl 0x5b0ec5
mov edx, dword [esp + 0x70]
test edx, edx
je 0x5b0f82
xor esi, esi
test eax, eax
jle 0x5b0f6e
mov ebx, dword [sym.imp.KERNEL32.dll_HeapSize]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov ebp, dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [edx + esi*4]
push eax
push 0
call edi
push eax
call ebx
mov ecx, dword [0x6f2538]
mov edx, dword [0x6f253c]
sub ecx, eax
mov dword [0x6f2538], ecx
mov ecx, dword [esp + 0x70]
sbb edx, 0
mov dword [0x6f253c], edx
mov edx, dword [ecx + esi*4]
push edx
push 0
call edi
push eax
call ebp
mov eax, dword [esp + 0x70]
inc esi
mov dword [eax + esi*4 - 4], 0
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
cmp esi, eax
jl 0x5b0f1e
push edx
call fcn.00619f6b
mov eax, dword [0x6f252c]
add esp, 4
dec eax
mov dword [0x6f252c], eax
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x50
ret 0x18
fild dword [esp + 0x38]
xor esi, esi
xor ebx, ebx
xor edi, edi
cmp eax, 0x5a
fmul qword [0x6a4810]
mov dword [esp + 0x10], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x4c], esi
fld st(0)
fcos
mov dword [esp + 0x54], edi
fstp dword [esp + 0x14]
fsin
fstp dword [esp + 0x18]
jge 0x5b0fcf
mov eax, 4
jmp 0x5b0ff7
jle 0x5b0fdf
cmp eax, 0xb4
jge 0x5b0fe4
mov eax, 3
jmp 0x5b0ff7
cmp eax, 0xb4
jle 0x5b0ff2
cmp eax, 0x10e
mov eax, 2
jl 0x5b0ff7
mov eax, 1
dec eax
cmp eax, 3
ja case.default.0x5b1001
jmp dword [eax*4 + 0x5b1768]
fild dword [esp + 0x70]
fld dword [esp + 0x14]
xor edi, edi
fmul st(1)
mov dword [esp + 0x54], edi
fadd dword [0x69fa10]
call fcn.005e1f50
fild dword [esp + 0x74]
mov ebx, eax
mov dword [esp + 0x58], ebx
fstp dword [esp + 0x70]
fld dword [esp + 0x14]
fmul dword [esp + 0x70]
fld dword [esp + 0x18]
fmul st(2)
faddp st(1)
fadd dword [0x69fa10]
call fcn.005e1f50
fstp st(0)
fld dword [esp + 0x18]
fmul dword [esp + 0x70]
mov dword [esp + 0x4c], eax
fsubr dword [0x69fa10]
call fcn.005e1f50
mov esi, eax
mov dword [esp + 0x40], esi
jmp case.default.0x5b1001
fild dword [esp + 0x70]
fld dword [esp + 0x18]
xor ebx, ebx
fmul st(1)
mov dword [esp + 0x58], ebx
fadd dword [0x69fa10]
call fcn.005e1f50
fild dword [esp + 0x74]
mov dword [esp + 0x4c], eax
fstp dword [esp + 0x70]
fld dword [esp + 0x14]
fmul st(1)
fld dword [esp + 0x18]
fmul dword [esp + 0x70]
fsubp st(1)
fadd dword [0x69fa10]
call fcn.005e1f50
fstp st(0)
fld dword [esp + 0x14]
fmul dword [esp + 0x70]
mov esi, eax
mov dword [esp + 0x40], esi
fadd dword [0x69fa10]
call fcn.005e1f50
mov edi, eax
mov dword [esp + 0x54], edi
jmp case.default.0x5b1001
fild dword [esp + 0x70]
fld dword [esp + 0x14]
mov dword [esp + 0x4c], 0
fmul st(1)
fadd dword [0x69fa10]
call fcn.005e1f50
fild dword [esp + 0x74]
mov esi, eax
mov dword [esp + 0x40], esi
fstp dword [esp + 0x70]
fld dword [esp + 0x14]
fmul dword [esp + 0x70]
fld dword [esp + 0x18]
fmul st(2)
faddp st(1)
fadd dword [0x69fa10]
call fcn.005e1f50
fstp st(0)
fld dword [esp + 0x18]
fmul dword [esp + 0x70]
mov edi, eax
mov dword [esp + 0x54], edi
fsubr dword [0x69fa10]
call fcn.005e1f50
mov ebx, eax
mov dword [esp + 0x58], ebx
jmp case.default.0x5b1001
fild dword [esp + 0x70]
fld dword [esp + 0x18]
xor esi, esi
fmul st(1)
mov dword [esp + 0x40], esi
fadd dword [0x69fa10]
call fcn.005e1f50
fild dword [esp + 0x74]
mov edi, eax
mov dword [esp + 0x54], edi
fstp dword [esp + 0x70]
fld dword [esp + 0x14]
fmul st(1)
fld dword [esp + 0x18]
fmul dword [esp + 0x70]
fsubp st(1)
fadd dword [0x69fa10]
call fcn.005e1f50
fstp st(0)
fld dword [esp + 0x14]
fmul dword [esp + 0x70]
mov ebx, eax
mov dword [esp + 0x58], ebx
fadd dword [0x69fa10]
call fcn.005e1f50
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x74]
sub ebx, esi
sub eax, edi
inc ebx
lea edx, [ecx*4]
inc eax
push edx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], eax
call fcn.00619f42
add esp, 4
mov dword [esp + 0x70], eax
test eax, eax
je 0x5b121a
mov eax, dword [esp + 0x74]
xor edi, edi
test eax, eax
jle 0x5b121a
mov esi, dword [esp + 0x70]
push ebp
call fcn.00619f42
add esp, 4
mov dword [esi], eax
test eax, eax
je 0x5b1295
mov eax, dword [esp + 0x74]
inc edi
add esi, 4
cmp edi, eax
jl 0x5b11e0
mov edx, dword [0x6f3018]
mov ecx, dword [0x6f301c]
inc edx
add ecx, eax
mov dword [0x6f3018], edx
mov dword [0x6f301c], ecx
test ebx, ebx
jl 0x5b132b
mov eax, dword [esp + 0x1c]
test eax, eax
jl 0x5b132b
mov ecx, eax
lea edx, [ecx*4]
push edx
call fcn.00619f42
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
je 0x5b132b
mov eax, dword [esp + 0x1c]
xor esi, esi
test eax, eax
jle 0x5b132b
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
push eax
call fcn.00619f42
mov edi, eax
add esp, 4
test edi, edi
mov dword [ebx], edi
je 0x5b12d2
mov ecx, dword [esp + 0x20]
xor eax, eax
mov edx, ecx
add ebx, 4
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
inc esi
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x1c]
cmp esi, eax
jl 0x5b125e
jmp 0x5b130c
test edi, edi
jle 0x5b12b8
mov esi, dword [esp + 0x70]
mov eax, dword [esi]
test eax, eax
je 0x5b12b2
push eax
call fcn.00619f6b
add esp, 4
mov dword [esi], 0
add esi, 4
dec edi
jne 0x5b129d
mov eax, dword [esp + 0x70]
push eax
call fcn.00619f6b
add esp, 4
mov dword [esp + 0x70], 0
jmp 0x5b121a
test esi, esi
jle 0x5b12f5
mov edi, dword [esp + 0x10]
mov eax, dword [edi]
test eax, eax
je 0x5b12ef
push eax
call fcn.00619f6b
add esp, 4
mov dword [edi], 0
add edi, 4
dec esi
jne 0x5b12da
mov eax, dword [esp + 0x10]
push eax
call fcn.00619f6b
add esp, 4
mov dword [esp + 0x10], 0
jmp 0x5b132b
test eax, eax
jle 0x5b132b
mov edx, dword [0x6f3018]
mov ecx, dword [0x6f301c]
inc edx
add ecx, eax
mov dword [0x6f3018], edx
mov dword [0x6f301c], ecx
mov eax, dword [esp + 0x70]
test eax, eax
je 0x5b136f
mov eax, dword [esp + 0x74]
test eax, eax
jle 0x5b136f
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x24], ecx
mov edi, dword [edx]
mov ecx, ebp
mov ebx, ecx
mov esi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
add eax, ebp
and ecx, 3
add edx, 4
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x24]
dec ecx
mov dword [esp + 0x24], ecx
jne 0x5b134b
mov ebx, dword [esp + 0x54]
mov eax, 0xf423f
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
cmp ebx, dword [esp + 0x4c]
jg 0x5b145e
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x58]
cmp edi, eax
mov dword [esp + 0x34], edi
jg 0x5b144d
fild dword [esp + 0x38]
fld st(0)
fmul dword [esp + 0x18]
fstp dword [esp + 0x38]
fmul dword [esp + 0x14]
fild dword [esp + 0x34]
fld st(0)
fmul dword [esp + 0x14]
fadd dword [esp + 0x38]
call fcn.005e1f50
fmul dword [esp + 0x18]
mov esi, eax
fsubr st(1)
call fcn.005e1f50
cmp dword [esp + 0x24], esi
jle 0x5b13e8
mov dword [esp + 0x24], esi
cmp dword [esp + 0x28], eax
jle 0x5b13f2
mov dword [esp + 0x28], eax
cmp dword [esp + 0x2c], esi
jge 0x5b13fc
mov dword [esp + 0x2c], esi
cmp dword [esp + 0x30], eax
jge 0x5b1406
mov dword [esp + 0x30], eax
test esi, esi
jl 0x5b143a
cmp esi, ebp
jge 0x5b143a
test eax, eax
jl 0x5b143a
cmp eax, dword [esp + 0x74]
jge 0x5b143a
mov edx, dword [esp + 0x70]
mov ecx, ebx
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x54]
sub ecx, edx
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esp + 0x40]
sub ecx, edx
mov dl, byte [eax + esi]
mov byte [ecx + edi], dl
mov eax, dword [esp + 0x58]
inc edi
cmp edi, eax
mov dword [esp + 0x34], edi
jle 0x5b13be
fstp st(0)
mov eax, dword [esp + 0x4c]
inc ebx
cmp ebx, eax
mov dword [esp + 0x38], ebx
jle 0x5b1398
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x5b1653
cmp eax, 0xb4
je 0x5b1653
mov cl, byte [ecx + 0xc]
test cl, cl
je 0x5b14dc
cmp eax, 0x5a
je 0x5b148b
cmp eax, 0x10e
jne 0x5b14d4
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5b1697
test ebp, ebp
jle 0x5b1697
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x64], ebp
mov esi, dword [eax]
mov ecx, ebx
mov ebp, ecx
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
add eax, 4
and ecx, 3
add edx, ebx
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x64]
dec ecx
mov dword [esp + 0x64], ecx
jne 0x5b14ab
jmp 0x5b1697
test cl, cl
jne 0x5b1609
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
mov eax, ebx
cdq
sub eax, edx
mov esi, eax
mov eax, ebp
cdq
sub eax, edx
sar ecx, 1
sar eax, 1
sar esi, 1
sub ecx, eax
mov eax, 0
sets al
dec eax
and eax, ecx
mov ecx, 0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x74]
cdq
sub eax, edx
sar eax, 1
sub esi, eax
sets cl
dec ecx
and ecx, esi
cmp ebp, edi
mov dword [esp + 0x3c], ecx
jge 0x5b152e
mov edi, ebp
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x68], edi
cmp ecx, ebx
mov eax, ecx
jl 0x5b153e
mov eax, ebx
test ecx, ecx
mov dword [esp + 0x6c], eax
jle 0x5b1570
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
mov edi, dword [edx]
mov ecx, ebp
mov ebx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, ebx
add edx, 4
and ecx, 3
dec esi
rep stosb byte es:[edi], al
jne 0x5b154e
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
test eax, eax
jle 0x5b15b8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x6c], eax
lea ecx, [edx + ecx*4]
xor eax, eax
test edi, edi
jle 0x5b15a7
mov edx, dword [esp + 0x38]
mov edi, dword [ecx]
mov ebx, dword [esi]
add edx, eax
inc eax
mov dl, byte [edx + edi]
mov edi, dword [esp + 0x68]
mov byte [ebx + eax - 1], dl
cmp eax, edi
jl 0x5b158d
mov eax, dword [esp + 0x6c]
add ecx, 4
add esi, 4
dec eax
mov dword [esp + 0x6c], eax
jne 0x5b1587
mov eax, dword [esp + 0x70]
test eax, eax
je 0x5b1697
mov eax, dword [esp + 0x74]
test eax, eax
jle 0x5b1697
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x64], ecx
mov esi, dword [eax]
mov ecx, ebp
mov ebx, ecx
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
add eax, 4
and ecx, 3
add edx, ebp
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x64]
dec ecx
mov dword [esp + 0x64], ecx
jne 0x5b15e0
jmp 0x5b1697
mov ecx, dword [esp + 0x6c]
test ecx, ecx
jle 0x5b1697
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5b1697
test ecx, ecx
jle 0x5b1697
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x64], ecx
mov esi, dword [eax]
mov ecx, ebx
mov ebp, ecx
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
add eax, 4
and ecx, 3
add edx, ebx
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x64]
dec ecx
mov dword [esp + 0x64], ecx
jne 0x5b162d
jmp 0x5b1697
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5b1697
mov eax, dword [esp + 0x74]
test eax, eax
jle 0x5b1697
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x64], ecx
mov esi, dword [eax]
mov ecx, ebp
mov ebx, ecx
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
add eax, 4
and ecx, 3
add edx, ebp
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x64]
dec ecx
mov dword [esp + 0x64], ecx
jne 0x5b1673
mov ebp, dword [esp + 0x70]
test ebp, ebp
je 0x5b16e8
mov ebx, dword [esp + 0x74]
test ebx, ebx
jle 0x5b16c6
mov esi, ebp
mov edi, ebx
mov eax, dword [esi]
test eax, eax
je 0x5b16c0
push eax
call fcn.00619f6b
add esp, 4
mov dword [esi], 0
add esi, 4
dec edi
jne 0x5b16ab
push ebp
call fcn.00619f6b
mov ecx, dword [0x6f3018]
mov eax, dword [0x6f301c]
add esp, 4
dec ecx
sub eax, ebx
mov dword [0x6f3018], ecx
mov dword [0x6f301c], eax
mov ebx, dword [esp + 0x1c]
test ebx, ebx
jl 0x5b173d
mov ebp, dword [esp + 0x10]
test ebp, ebp
je 0x5b173d
test ebx, ebx
jle 0x5b171b
mov esi, ebp
mov edi, ebx
mov eax, dword [esi]
test eax, eax
je 0x5b1715
push eax
call fcn.00619f6b
add esp, 4
mov dword [esi], 0
add esi, 4
dec edi
jne 0x5b1700
push ebp
call fcn.00619f6b
mov ecx, dword [0x6f3018]
mov eax, dword [0x6f301c]
add esp, 4
dec ecx
sub eax, ebx
mov dword [0x6f3018], ecx
mov dword [0x6f301c], eax
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x50
ret 0x18
push esi
push esi
push str.SiplProcess____siplRotateI:_Height_Width_NewWidth_NewHeight_parameter_is_less_than_or__0
call fcn.0062dd90
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0x50
ret 0x18