Function at 0x532860
Capabilities:
Encrypt data using rc4 ksa
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
mov ecx, dword [ebp + 8]
push ebx
push esi
push edi
xor edi, edi
test ecx, ecx
je 0x5353c6
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x5353c6
mov esi, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x18]
push eax
push esi
push ecx
call fcn.00535790
test eax, eax
mov dword [esp + 0x10], eax
je 0x5353d0
mov ecx, dword [ebp + 0x18]
push ecx
call fcn.00531ec0
and eax, 0xff
push esi
mov ebx, eax
call fcn.00531ec0
mov cl, al
mov eax, dword [ebp + 8]
and ecx, 0xff
xor edx, edx
div ecx
mov ecx, dword [ebp + 0xc]
mov esi, eax
mov eax, dword [ebp + 0x10]
cmp eax, ecx
jne 0x532911
imul esi, ebx
push esi
call fcn.00531d40
mov ebx, eax
test ebx, ebx
je 0x5353d0
mov eax, dword [esp + 0x10]
mov ecx, esi
mov edx, ecx
mov esi, eax
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp eax, dword [ebp + 0x1c]
je 0x532906
push eax
call fcn.00531d70
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x190a
ja 0x53421e
je 0x533e3f
sub ecx, 0x1907
je 0x533589
dec ecx
je 0x532cfd
dec ecx
jne case.0x53521c.5125
cmp eax, 0x190a
ja 0x532a5c
je 0x532954
sub eax, 0x1907
jmp 0x532a61
mov eax, esi
imul eax, ebx
add eax, eax
push eax
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov ecx, dword [ebp + 0x18]
lea eax, [ecx - 0x1400]
cmp eax, 0xa
ja case.0x53521c.5125
xor edx, edx
mov dl, byte [eax + 0x5353f4]
jmp dword [edx*4 + 0x5353dc]
xor eax, eax
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
mov dl, byte [eax + ecx]
mov byte [edi + eax*2 + 1], 0xff
mov byte [edi + eax*2], dl
inc eax
cmp eax, esi
jb 0x53299a
jmp case.0x53521c.5125
xor eax, eax
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
mov edx, 0xffff
mov bx, word [ecx + eax*2]
mov word [edi + eax*4 + 2], dx
mov word [edi + eax*4], bx
inc eax
cmp eax, esi
jb 0x5329c2
jmp case.0x53521c.5125
xor eax, eax
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + eax*4]
mov dword [edi + eax*8 + 4], 0xffffffff
mov dword [edi + eax*8], edx
inc eax
cmp eax, esi
jb 0x5329e7
jmp case.0x53521c.5125
xor eax, eax
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + eax*4]
mov dword [edi + eax*8 + 4], 0x3f800000
mov dword [edi + eax*8], edx
inc eax
cmp eax, esi
jb 0x532a0d
jmp case.0x53521c.5125
xor ecx, ecx
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
mov eax, edi
mov edx, dword [ebx + ecx*8]
inc ecx
mov dword [eax], edx
mov edx, dword [ebx + ecx*8 - 4]
mov dword [eax + 4], edx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0x3ff00000
add eax, 0x10
cmp ecx, esi
jb 0x532a35
jmp case.0x53521c.5125
sub eax, 0x80e0
je 0x532bf0
dec eax
je 0x532a79
push 0x510
call fcn.00531cc0
jmp 0x5351d6
mov eax, esi
imul eax, ebx
shl eax, 2
push eax
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov ecx, dword [ebp + 0x18]
lea eax, [ecx - 0x1400]
cmp eax, 0xa
ja case.0x53521c.5125
xor edx, edx
mov dl, byte [eax + 0x535418]
jmp dword [edx*4 + 0x535400]
xor ecx, ecx
test esi, esi
jbe case.0x53521c.5125
lea edx, [edi + 3]
xor eax, eax
mov ebx, dword [esp + 0x10]
inc eax
cmp eax, 3
mov bl, byte [ecx + ebx]
mov byte [edx + eax - 4], bl
jb 0x532ac1
mov byte [edx], 0xff
inc ecx
add edx, 4
cmp ecx, esi
jb 0x532abf
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
mov edx, edi
mov dword [esp + 0x18], esi
mov eax, edx
mov ebx, 3
mov si, word [ecx]
mov word [eax], si
add eax, 2
dec ebx
jne 0x532afb
mov eax, dword [esp + 0x18]
mov word [edx + 6], 0xffff
add ecx, 2
add edx, 8
dec eax
mov dword [esp + 0x18], eax
jne 0x532af4
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
mov edx, edi
mov dword [esp + 0x18], esi
mov eax, edx
mov ebx, 3
mov esi, dword [ecx]
mov dword [eax], esi
add eax, 4
dec ebx
jne 0x532b3c
mov eax, dword [esp + 0x18]
mov dword [edx + 0xc], 0xffffffff
add ecx, 4
add edx, 0x10
dec eax
mov dword [esp + 0x18], eax
jne 0x532b35
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
mov ebx, edi
mov dword [esp + 0x18], esi
mov eax, ebx
mov edx, 3
mov esi, dword [ecx]
mov dword [eax], esi
add eax, 4
dec edx
jne 0x532b7c
mov eax, dword [esp + 0x18]
mov dword [ebx + 0xc], 0x3f800000
add ecx, 4
add ebx, 0x10
dec eax
mov dword [esp + 0x18], eax
jne 0x532b75
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
mov ebx, edi
mov dword [esp + 0x18], esi
mov eax, ebx
mov edx, 3
mov esi, dword [ecx]
mov dword [eax], esi
mov esi, dword [ecx + 4]
mov dword [eax + 4], esi
add eax, 8
dec edx
jne 0x532bbc
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x1c], 0x3ff00000
add ecx, 8
add ebx, 0x20
dec eax
mov dword [esp + 0x18], eax
jne 0x532bb5
jmp case.0x53521c.5125
mov eax, esi
imul eax, ebx
lea eax, [eax + eax*2]
push eax
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov ecx, dword [ebp + 0x18]
lea eax, [ecx - 0x1400]
cmp eax, 0xa
ja case.0x53521c.5125
xor edx, edx
mov dl, byte [eax + 0x53543c]
jmp dword [edx*4 + 0x535424]
xor ecx, ecx
test esi, esi
jbe case.0x53521c.5125
mov edx, edi
xor eax, eax
mov ebx, dword [esp + 0x10]
inc eax
cmp eax, 3
mov bl, byte [ecx + ebx]
mov byte [edx + eax - 1], bl
jb 0x532c37
inc ecx
add edx, 3
cmp ecx, esi
jb 0x532c35
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
mov eax, edi
mov edx, 3
mov bx, word [ecx]
mov word [eax], bx
add eax, 2
dec edx
jne 0x532c68
add ecx, 2
dec esi
jne 0x532c63
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
mov eax, edi
mov edx, 3
mov ebx, dword [ecx]
mov dword [eax], ebx
add eax, 4
dec edx
jne 0x532c92
add ecx, 4
dec esi
jne 0x532c8d
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
mov eax, edi
mov edx, 3
mov ebx, dword [ecx]
mov dword [eax], ebx
add eax, 4
dec edx
jne 0x532cba
add ecx, 4
dec esi
jne 0x532cb5
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
mov eax, edi
mov edx, 3
mov ebx, dword [ecx]
mov dword [eax], ebx
mov ebx, dword [ecx + 4]
mov dword [eax + 4], ebx
add eax, 8
dec edx
jne 0x532ce2
add ecx, 8
dec esi
jne 0x532cdd
jmp case.0x53521c.5125
cmp eax, 0x190a
ja 0x533263
je 0x533058
sub eax, 0x1907
je 0x532ef2
sub eax, 2
jne 0x533271
mov eax, esi
imul eax, ebx
shr eax, 2
push eax
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov ecx, dword [ebp + 0x18]
shr esi, 2
lea eax, [ecx - 0x1400]
mov ebx, esi
cmp eax, 0xa
mov dword [esp + 0x14], ebx
ja case.0x53521c.5125
xor edx, edx
mov dl, byte [eax + 0x535460]
jmp dword [edx*4 + 0x535448]
xor esi, esi
test ebx, ebx
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
fld dword [0x5a83e4]
xor eax, eax
xor edx, edx
add eax, 4
mov dl, byte [ecx]
inc ecx
mov dword [esp + 0x1c], edx
cmp eax, 0xc
fild dword [esp + 0x1c]
fmul dword [eax + str.Developers_Image_Library_Utilities__ILU__1.6.5]
faddp st(1)
jb 0x532d7e
call fcn.0050a970
mov ecx, dword [esp + 0x18]
mov byte [esi + edi], al
mov eax, dword [esp + 0x14]
inc esi
add ecx, 4
cmp esi, eax
mov dword [esp + 0x18], ecx
jb 0x532d76
jmp case.0x53521c.5125
xor esi, esi
test ebx, ebx
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
fld dword [0x5a83e4]
mov ecx, dword [esp + 0x18]
xor eax, eax
xor edx, edx
add eax, 4
mov dx, word [ecx]
add ecx, 2
mov dword [esp + 0x1c], edx
cmp eax, 0xc
fild dword [esp + 0x1c]
fmul dword [eax + str.Developers_Image_Library_Utilities__ILU__1.6.5]
faddp st(1)
jb 0x532dda
call fcn.0050a970
mov ecx, dword [esp + 0x18]
mov word [edi + esi*2], ax
inc esi
add ecx, 8
cmp esi, ebx
mov dword [esp + 0x18], ecx
jb 0x532dce
jmp case.0x53521c.5125
xor esi, esi
test ebx, ebx
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
fld qword [0x5a84b8]
mov ecx, dword [esp + 0x18]
xor eax, eax
mov edx, dword [ecx]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], edx
add eax, 4
fild qword [esp + 0x20]
add ecx, 4
cmp eax, 0xc
fmul dword [eax + str.Developers_Image_Library_Utilities__ILU__1.6.5]
faddp st(1)
jb 0x532e36
call fcn.0050a970
mov ecx, dword [esp + 0x18]
mov dword [edi + esi*4], eax
inc esi
add ecx, 0x10
cmp esi, ebx
mov dword [esp + 0x18], ecx
jb 0x532e2a
jmp case.0x53521c.5125
xor edx, edx
test ebx, ebx
jbe case.0x53521c.5125
mov esi, dword [esp + 0x10]
fld qword [0x5a84b8]
mov ecx, esi
xor eax, eax
fld dword [eax + 0x5ad460]
fmul dword [ecx]
add eax, 4
add ecx, 4
cmp eax, 0xc
faddp st(1)
jb 0x532e90
fstp dword [edi + edx*4]
inc edx
add esi, 0x10
cmp edx, ebx
jb 0x532e86
jmp case.0x53521c.5125
xor edx, edx
test ebx, ebx
jbe case.0x53521c.5125
mov esi, dword [esp + 0x10]
fld qword [0x5a84b8]
mov ecx, esi
xor eax, eax
fld dword [eax + 0x5ad460]
fmul qword [ecx]
add eax, 4
add ecx, 8
cmp eax, 0xc
faddp st(1)
jb 0x532ecd
fstp qword [edi + edx*8]
inc edx
add esi, 0x20
cmp edx, ebx
jb 0x532ec3
jmp case.0x53521c.5125
mov eax, esi
imul eax, ebx
lea eax, [eax + eax*2]
shr eax, 2
push eax
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov ecx, dword [ebp + 0x18]
lea eax, [ecx - 0x1400]
cmp eax, 0xa
ja case.0x53521c.5125
xor edx, edx
mov dl, byte [eax + 0x535484]
jmp dword [edx*4 + 0x53546c]
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
or edx, 0xffffffff
lea ecx, [edi + 1]
sub edx, ebx
lea eax, [ebx + 1]
mov bl, byte [eax - 1]
add eax, 4
mov byte [ecx - 1], bl
mov bl, byte [eax - 4]
mov byte [ecx], bl
mov bl, byte [eax - 3]
mov byte [ecx + 1], bl
lea ebx, [edx + eax]
add ecx, 3
cmp ebx, esi
jb 0x532f45
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
lea ecx, [edi + 4]
add eax, 4
dec esi
shr esi, 2
inc esi
mov dx, word [eax - 4]
add eax, 8
mov word [ecx - 4], dx
mov dx, word [eax - 0xa]
mov word [ecx - 2], dx
mov dx, word [eax - 8]
mov word [ecx], dx
add ecx, 6
dec esi
jne 0x532f7f
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
lea ecx, [edi + 8]
add eax, 8
dec esi
shr esi, 2
inc esi
mov edx, dword [eax - 8]
add eax, 0x10
mov dword [ecx - 8], edx
mov edx, dword [eax - 0x14]
mov dword [ecx - 4], edx
mov edx, dword [eax - 0x10]
mov dword [ecx], edx
add ecx, 0xc
dec esi
jne 0x532fbb
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
lea ecx, [edi + 8]
add eax, 8
dec esi
shr esi, 2
inc esi
mov edx, dword [eax - 8]
add eax, 0x10
mov dword [ecx - 8], edx
mov edx, dword [eax - 0x14]
mov dword [ecx - 4], edx
mov edx, dword [eax - 0x10]
mov dword [ecx], edx
add ecx, 0xc
dec esi
jne 0x532ff1
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
lea ecx, [edi + 0x10]
add eax, 0x10
dec esi
shr esi, 2
inc esi
mov edx, dword [eax - 0x10]
add eax, 0x20
mov dword [ecx - 0x10], edx
mov edx, dword [eax - 0x2c]
mov dword [ecx - 0xc], edx
mov edx, dword [eax - 0x28]
mov dword [ecx - 8], edx
mov edx, dword [eax - 0x24]
mov dword [ecx - 4], edx
mov edx, dword [eax - 0x20]
mov dword [ecx], edx
mov edx, dword [eax - 0x1c]
mov dword [ecx + 4], edx
add ecx, 0x18
dec esi
jne 0x533027
jmp case.0x53521c.5125
mov eax, esi
imul eax, ebx
shr eax, 2
add eax, eax
push eax
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov ecx, dword [ebp + 0x18]
shr esi, 2
lea eax, [ecx - 0x1400]
add esi, esi
cmp eax, 0xa
mov dword [esp + 0x14], esi
ja case.0x53521c.5125
xor edx, edx
mov dl, byte [eax + 0x5354a8]
jmp dword [edx*4 + 0x535490]
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
or eax, 0xffffffff
sub eax, edi
lea esi, [edi + 1]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
fld dword [0x5a83e4]
xor eax, eax
xor edx, edx
add eax, 4
mov dl, byte [ecx]
inc ecx
mov dword [esp + 0x20], edx
cmp eax, 0xc
fild dword [esp + 0x20]
fmul dword [eax + str.Developers_Image_Library_Utilities__ILU__1.6.5]
faddp st(1)
jb 0x5330c0
call fcn.0050a970
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov byte [esi - 1], al
add esi, 2
mov al, byte [ecx + 3]
add edx, esi
mov byte [esi - 2], al
mov eax, dword [esp + 0x14]
add ecx, 4
cmp edx, eax
mov dword [esp + 0x1c], ecx
jb 0x5330b8
jmp case.0x53521c.5125
xor ebx, ebx
test esi, esi
jbe case.0x53521c.5125
mov esi, dword [esp + 0x10]
fld dword [0x5a83e4]
mov ecx, esi
xor eax, eax
xor edx, edx
add eax, 4
mov dx, word [ecx]
add ecx, 2
mov dword [esp + 0x20], edx
cmp eax, 0xc
fild dword [esp + 0x20]
fmul dword [eax + str.Developers_Image_Library_Utilities__ILU__1.6.5]
faddp st(1)
jb 0x533124
call fcn.0050a970
mov word [edi + ebx*2], ax
mov ax, word [esi + 6]
mov word [edi + ebx*2 + 2], ax
mov eax, dword [esp + 0x14]
add ebx, 2
add esi, 8
cmp ebx, eax
jb 0x53311a
jmp case.0x53521c.5125
xor ebx, ebx
test esi, esi
jbe case.0x53521c.5125
mov esi, dword [esp + 0x10]
fld qword [0x5a84b8]
mov ecx, esi
xor eax, eax
mov edx, dword [ecx]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], edx
add eax, 4
fild qword [esp + 0x20]
add ecx, 4
cmp eax, 0xc
fmul dword [eax + str.Developers_Image_Library_Utilities__ILU__1.6.5]
faddp st(1)
jb 0x533181
call fcn.0050a970
mov dword [edi + ebx*4], eax
mov eax, dword [esi + 0xc]
mov dword [edi + ebx*4 + 4], eax
mov eax, dword [esp + 0x14]
add ebx, 2
add esi, 0x10
cmp ebx, eax
jb 0x533177
jmp case.0x53521c.5125
mov esi, dword [esp + 0x14]
xor edx, edx
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
fld qword [0x5a84b8]
mov ecx, ebx
xor eax, eax
fld dword [eax + 0x5ad460]
fmul dword [ecx]
add eax, 4
add ecx, 4
cmp eax, 0xc
faddp st(1)
jb 0x5331e4
fstp dword [edi + edx*4]
mov ecx, dword [ebx + 0xc]
add ebx, 0x10
mov dword [edi + edx*4 + 4], ecx
add edx, 2
cmp edx, esi
jb 0x5331da
jmp case.0x53521c.5125
mov esi, dword [esp + 0x14]
xor edx, edx
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
fld qword [0x5a84b8]
mov ecx, ebx
xor eax, eax
fld dword [eax + 0x5ad460]
fmul qword [ecx]
add eax, 4
add ecx, 8
cmp eax, 0xc
faddp st(1)
jb 0x53322e
fstp qword [edi + edx*8]
mov eax, dword [ebx + 0x18]
add ebx, 0x20
mov dword [edi + edx*8 + 8], eax
mov ecx, dword [ebx - 4]
mov dword [edi + edx*8 + 0xc], ecx
add edx, 2
cmp edx, esi
jb 0x533224
jmp case.0x53521c.5125
sub eax, 0x80e0
je 0x533424
dec eax
je 0x533280
push 0x510
call fcn.00531cc0
jmp 0x5351d6
mov edx, esi
imul edx, ebx
push edx
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov eax, dword [ebp + 0x18]
add eax, 0xffffec00
cmp eax, 0xa
ja case.0x53521c.5125
xor ecx, ecx
mov cl, byte [eax + 0x5354cc]
jmp dword [ecx*4 + 0x5354b4]
test esi, esi
jbe case.0x53521c.5125
mov edx, dword [esp + 0x10]
or ebx, 0xffffffff
lea eax, [edi + 1]
lea ecx, [edx + 3]
sub edx, edi
sub ebx, edi
mov dword [esp + 0x18], ebx
mov bl, byte [edx + eax + 1]
add ecx, 4
mov byte [eax - 1], bl
mov bl, byte [edx + eax]
mov byte [eax], bl
mov bl, byte [ecx - 7]
mov byte [eax + 1], bl
mov bl, byte [ecx - 4]
mov byte [eax + 2], bl
mov ebx, dword [esp + 0x18]
add eax, 4
add ebx, eax
cmp ebx, esi
jb 0x5332d2
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
mov edx, edi
sub edx, ebx
dec esi
shr esi, 2
lea ecx, [edi + 6]
lea eax, [ebx + 2]
inc esi
mov bx, word [eax + 2]
add eax, 8
mov word [ecx - 6], bx
mov bx, word [eax - 8]
mov word [edx + eax - 8], bx
mov bx, word [eax - 0xa]
mov word [ecx - 2], bx
mov bx, word [eax - 4]
mov word [ecx], bx
add ecx, 8
dec esi
jne 0x53331a
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
mov edx, edi
sub edx, ebx
dec esi
shr esi, 2
lea ecx, [edi + 0xc]
lea eax, [ebx + 4]
inc esi
mov ebx, dword [eax + 4]
add eax, 0x10
mov dword [ecx - 0xc], ebx
mov ebx, dword [eax - 0x10]
mov dword [edx + eax - 0x10], ebx
mov ebx, dword [eax - 0x14]
mov dword [ecx - 4], ebx
mov ebx, dword [eax - 8]
mov dword [ecx], ebx
add ecx, 0x10
dec esi
jne 0x533363
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
mov edx, edi
sub edx, ebx
dec esi
shr esi, 2
lea ecx, [edi + 0xc]
lea eax, [ebx + 4]
inc esi
mov ebx, dword [eax + 4]
add eax, 0x10
mov dword [ecx - 0xc], ebx
mov ebx, dword [eax - 0x10]
mov dword [edx + eax - 0x10], ebx
mov ebx, dword [eax - 0x14]
mov dword [ecx - 4], ebx
mov ebx, dword [eax - 8]
mov dword [ecx], ebx
add ecx, 0x10
dec esi
jne 0x5333a4
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
mov edx, edi
sub edx, ebx
dec esi
shr esi, 2
lea ecx, [edi + 0x18]
lea eax, [ebx + 8]
inc esi
mov ebx, dword [eax + 8]
add eax, 0x20
mov dword [ecx - 0x18], ebx
mov ebx, dword [eax - 0x14]
mov dword [ecx - 0x14], ebx
mov ebx, dword [eax - 0x20]
mov dword [edx + eax - 0x20], ebx
mov ebx, dword [eax - 0x1c]
mov dword [edx + eax - 0x1c], ebx
mov ebx, dword [eax - 0x28]
mov dword [ecx - 8], ebx
mov ebx, dword [eax - 0x24]
mov dword [ecx - 4], ebx
mov ebx, dword [eax - 0x10]
mov dword [ecx], ebx
mov ebx, dword [eax - 0xc]
mov dword [ecx + 4], ebx
add ecx, 0x20
dec esi
jne 0x5333e5
jmp case.0x53521c.5125
mov eax, esi
imul eax, ebx
lea edx, [eax + eax*2]
shr edx, 2
push edx
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov eax, dword [ebp + 0x18]
add eax, 0xffffec00
cmp eax, 0xa
ja case.0x53521c.5125
xor ecx, ecx
mov cl, byte [eax + 0x5354f0]
jmp dword [ecx*4 + 0x5354d8]
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
or edx, 0xffffffff
lea ecx, [edi + 1]
sub edx, ebx
lea eax, [ebx + 1]
mov bl, byte [eax + 1]
add eax, 4
mov byte [ecx - 1], bl
mov bl, byte [eax - 4]
mov byte [ecx], bl
mov bl, byte [eax - 5]
mov byte [ecx + 1], bl
lea ebx, [edx + eax]
add ecx, 3
cmp ebx, esi
jb 0x533476
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov edx, dword [esp + 0x10]
dec esi
shr esi, 2
lea ecx, [edi + 4]
lea eax, [edx + 2]
inc esi
mov dx, word [eax + 2]
add eax, 8
mov word [ecx - 4], dx
mov dx, word [eax - 8]
mov word [ecx - 2], dx
mov dx, word [eax - 0xa]
mov word [ecx], dx
add ecx, 6
dec esi
jne 0x5334b0
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
lea ecx, [edi + 8]
add eax, 4
dec esi
shr esi, 2
inc esi
mov edx, dword [eax + 4]
add eax, 0x10
mov dword [ecx - 8], edx
mov edx, dword [eax - 0x10]
mov dword [ecx - 4], edx
mov edx, dword [eax - 0x14]
mov dword [ecx], edx
add ecx, 0xc
dec esi
jne 0x5334ec
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
lea ecx, [edi + 8]
add eax, 4
dec esi
shr esi, 2
inc esi
mov edx, dword [eax + 4]
add eax, 0x10
mov dword [ecx - 8], edx
mov edx, dword [eax - 0x10]
mov dword [ecx - 4], edx
mov edx, dword [eax - 0x14]
mov dword [ecx], edx
add ecx, 0xc
dec esi
jne 0x533522
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
lea ecx, [edi + 0x10]
add eax, 8
dec esi
shr esi, 2
inc esi
mov edx, dword [eax + 8]
add eax, 0x20
mov dword [ecx - 0x10], edx
mov edx, dword [eax - 0x14]
mov dword [ecx - 0xc], edx
mov edx, dword [eax - 0x20]
mov dword [ecx - 8], edx
mov edx, dword [eax - 0x1c]
mov dword [ecx - 4], edx
mov edx, dword [eax - 0x28]
mov dword [ecx], edx
mov edx, dword [eax - 0x24]
mov dword [ecx + 4], edx
add ecx, 0x18
dec esi
jne 0x533558
jmp case.0x53521c.5125
cmp eax, 0x190a
ja 0x533aff
je 0x533920
sub eax, 0x1908
je 0x533771
dec eax
jne 0x533b0d
mov ecx, esi
mov eax, 0xaaaaaaab
imul ecx, ebx
mul ecx
shr edx, 1
push edx
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov eax, 0xaaaaaaab
mul esi
mov ebx, edx
mov edx, dword [ebp + 0x18]
shr ebx, 1
lea eax, [edx - 0x1400]
mov dword [esp + 0x14], ebx
cmp eax, 0xa
ja case.0x53521c.5125
xor ecx, ecx
mov cl, byte [eax + 0x535514]
jmp dword [ecx*4 + 0x5354fc]
test ebx, ebx
mov dword [esp + 0x18], 0
jbe case.0x53521c.5125
mov esi, dword [esp + 0x10]
fld dword [0x5a83e4]
xor eax, eax
xor edx, edx
add eax, 4
mov dl, byte [esi]
inc esi
mov dword [esp + 0x20], edx
cmp eax, 0xc
fild dword [esp + 0x20]
fmul dword [eax + str.Developers_Image_Library_Utilities__ILU__1.6.5]
faddp st(1)
jb 0x533616
call fcn.0050a970
mov ecx, dword [esp + 0x18]
mov byte [ecx + edi], al
mov eax, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x18], ecx
jb 0x53360e
jmp case.0x53521c.5125
test ebx, ebx
mov dword [esp + 0x18], 0
jbe case.0x53521c.5125
mov esi, dword [esp + 0x10]
fld dword [0x5a83e4]
xor eax, eax
xor ecx, ecx
add eax, 4
mov cx, word [esi]
add esi, 2
mov dword [esp + 0x20], ecx
cmp eax, 0xc
fild dword [esp + 0x20]
fmul dword [eax + str.Developers_Image_Library_Utilities__ILU__1.6.5]
faddp st(1)
jb 0x53366d
call fcn.0050a970
mov ecx, dword [esp + 0x18]
mov word [edi + ecx*2], ax
inc ecx
cmp ecx, ebx
mov dword [esp + 0x18], ecx
jb 0x533665
jmp case.0x53521c.5125
test ebx, ebx
mov dword [esp + 0x18], 0
jbe case.0x53521c.5125
mov esi, dword [esp + 0x10]
fld dword [0x5a83e4]
xor ecx, ecx
xor eax, eax
mov edx, dword [esi]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edx
add eax, 4
fild qword [esp + 0x20]
add esi, 4
cmp eax, 0xc
fmul dword [eax + str.Developers_Image_Library_Utilities__ILU__1.6.5]
faddp st(1)
jb 0x5336c6
call fcn.0050a970
mov ecx, dword [esp + 0x18]
mov dword [edi + ecx*4], eax
inc ecx
cmp ecx, ebx
mov dword [esp + 0x18], ecx
jb 0x5336bc
jmp case.0x53521c.5125
xor edx, edx
test ebx, ebx
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
fld dword [0x5a83e4]
xor eax, eax
fld dword [eax + 0x5ad460]
fmul dword [ecx]
add eax, 4
add ecx, 4
cmp eax, 0xc
faddp st(1)
jb 0x533717
fstp dword [edi + edx*4]
inc edx
cmp edx, ebx
jb 0x53370f
jmp case.0x53521c.5125
xor edx, edx
test ebx, ebx
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
fld qword [0x5a84b8]
xor eax, eax
fld dword [eax + 0x5ad460]
fmul qword [ecx]
add eax, 4
add ecx, 8
cmp eax, 0xc
faddp st(1)
jb 0x53374f
fstp qword [edi + edx*8]
inc edx
cmp edx, ebx
jb 0x533747
jmp case.0x53521c.5125
mov ecx, esi
mov eax, 0xaaaaaaab
imul ecx, ebx
shl ecx, 2
mul ecx
shr edx, 1
push edx
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov edx, dword [ebp + 0x18]
lea eax, [edx - 0x1400]
cmp eax, 0xa
ja case.0x53521c.5125
xor ecx, ecx
mov cl, byte [eax + 0x535538]
jmp dword [ecx*4 + 0x535520]
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
or edx, 0xffffffff
lea ecx, [edi + 1]
sub edx, ebx
lea eax, [ebx + 1]
mov bl, byte [eax - 1]
add eax, 3
mov byte [ecx - 1], bl
mov bl, byte [eax - 3]
mov byte [ecx], bl
mov bl, byte [eax - 2]
mov byte [ecx + 1], bl
mov byte [ecx + 2], 0xff
lea ebx, [edx + eax]
add ecx, 4
cmp ebx, esi
jb 0x5337ca
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov edx, dword [esp + 0x10]
dec esi
mov eax, 0xaaaaaaab
lea ecx, [edi + 4]
lea ebx, [edx + 4]
mul esi
shr edx, 1
inc edx
mov eax, 0xffff
mov si, word [ebx - 4]
add ebx, 6
mov word [ecx - 4], si
mov si, word [ebx - 8]
mov word [ecx - 2], si
mov si, word [ebx - 6]
mov word [ecx], si
mov word [ecx + 2], ax
add ecx, 8
dec edx
jne 0x533813
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
dec esi
lea ecx, [edi + 8]
lea ebx, [eax + 8]
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
inc edx
mov eax, dword [ebx - 8]
add ebx, 0xc
mov dword [ecx - 8], eax
mov eax, dword [ebx - 0x10]
mov dword [ecx - 4], eax
mov eax, dword [ebx - 0xc]
mov dword [ecx], eax
mov dword [ecx + 4], 0xffffffff
add ecx, 0x10
dec edx
jne 0x533859
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov edx, dword [esp + 0x10]
dec esi
mov eax, 0xaaaaaaab
lea ecx, [edi + 8]
lea ebx, [edx + 8]
mul esi
mov eax, edx
shr eax, 1
inc eax
mov edx, dword [ebx - 8]
add ebx, 0xc
mov dword [ecx - 8], edx
mov edx, dword [ebx - 0x10]
mov dword [ecx - 4], edx
mov edx, dword [ebx - 0xc]
mov dword [ecx], edx
mov dword [ecx + 4], 0x3f800000
add ecx, 0x10
dec eax
jne 0x53389e
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
dec esi
lea ecx, [edi + 0x10]
lea ebx, [eax + 0x10]
mov eax, 0xaaaaaaab
mul esi
mov eax, edx
shr eax, 1
inc eax
xor edx, edx
mov esi, dword [ebx - 0x10]
add ebx, 0x18
mov dword [ecx - 0x10], esi
mov esi, dword [ebx - 0x24]
mov dword [ecx - 0xc], esi
mov esi, dword [ebx - 0x20]
mov dword [ecx - 8], esi
mov esi, dword [ebx - 0x1c]
mov dword [ecx - 4], esi
mov esi, dword [ebx - 0x18]
mov dword [ecx], esi
mov esi, dword [ebx - 0x14]
mov dword [ecx + 4], esi
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], 0x3ff00000
add ecx, 0x20
dec eax
jne 0x5338e5
jmp case.0x53521c.5125
mov ecx, esi
mov eax, 0xaaaaaaab
imul ecx, ebx
mul ecx
shr edx, 1
add edx, edx
push edx
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov eax, 0xaaaaaaab
mul esi
mov eax, dword [ebp + 0x18]
add eax, 0xffffec00
shr edx, 1
cmp eax, 0xa
mov dword [esp + 0x14], edx
ja case.0x53521c.5125
xor ecx, ecx
mov cl, byte [eax + 0x53555c]
jmp dword [ecx*4 + 0x535544]
test edx, edx
mov dword [esp + 0x18], 0
jbe case.0x53521c.5125
mov esi, dword [esp + 0x10]
fld dword [0x5a83e4]
xor eax, eax
xor edx, edx
add eax, 4
mov dl, byte [esi]
inc esi
mov dword [esp + 0x20], edx
cmp eax, 0xc
fild dword [esp + 0x20]
fmul dword [eax + str.Developers_Image_Library_Utilities__ILU__1.6.5]
faddp st(1)
jb 0x533989
call fcn.0050a970
mov ecx, dword [esp + 0x18]
mov byte [edi + ecx*2], al
mov eax, dword [esp + 0x14]
mov byte [edi + ecx*2 + 1], 0xff
inc ecx
cmp ecx, eax
mov dword [esp + 0x18], ecx
jb 0x533981
jmp case.0x53521c.5125
xor ebx, ebx
test edx, edx
jbe case.0x53521c.5125
mov esi, dword [esp + 0x10]
fld dword [0x5a83e4]
xor eax, eax
xor ecx, ecx
add eax, 4
mov cx, word [esi]
add esi, 2
mov dword [esp + 0x20], ecx
cmp eax, 0xc
fild dword [esp + 0x20]
fmul dword [eax + str.Developers_Image_Library_Utilities__ILU__1.6.5]
faddp st(1)
jb 0x5339df
call fcn.0050a970
mov word [edi + ebx*4], ax
mov eax, dword [esp + 0x14]
mov word [edi + ebx*4 + 2], 0xffff
inc ebx
cmp ebx, eax
jb 0x5339d7
jmp case.0x53521c.5125
mov eax, dword [esp + 0x14]
xor ebx, ebx
test eax, eax
jbe case.0x53521c.5125
mov esi, dword [esp + 0x10]
fld dword [0x5a83e4]
xor ecx, ecx
xor eax, eax
mov edx, dword [esi]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edx
add eax, 4
fild qword [esp + 0x20]
add esi, 4
cmp eax, 0xc
fmul dword [eax + str.Developers_Image_Library_Utilities__ILU__1.6.5]
faddp st(1)
jb 0x533a39
call fcn.0050a970
mov dword [edi + ebx*8], eax
mov eax, dword [esp + 0x14]
mov dword [edi + ebx*8 + 4], 0xffffffff
inc ebx
cmp ebx, eax
jb 0x533a2f
jmp case.0x53521c.5125
xor esi, esi
test edx, edx
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
fld dword [0x5a83e4]
xor eax, eax
fld dword [eax + 0x5ad460]
fmul dword [ecx]
add eax, 4
add ecx, 4
cmp eax, 0xc
faddp st(1)
jb 0x533a8e
fstp dword [edi + esi*8]
mov dword [edi + esi*8 + 4], 0x3f800000
inc esi
cmp esi, edx
jb 0x533a86
jmp case.0x53521c.5125
test edx, edx
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
mov esi, edi
mov ebx, 0x3ff00000
fld qword [0x5a84b8]
xor eax, eax
fld dword [eax + 0x5ad460]
fmul qword [ecx]
add eax, 4
add ecx, 8
cmp eax, 0xc
faddp st(1)
jb 0x533ad3
fstp qword [esi]
mov dword [esi + 8], 0
mov dword [esi + 0xc], ebx
add esi, 0x10
dec edx
jne 0x533acb
jmp case.0x53521c.5125
sub eax, 0x80e0
je 0x533ccb
dec eax
je 0x533b1c
push 0x510
call fcn.00531cc0
jmp 0x5351d6
mov ecx, esi
mov eax, 0xaaaaaaab
imul ecx, ebx
shl ecx, 2
mul ecx
shr edx, 1
push edx
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov edx, dword [ebp + 0x18]
lea eax, [edx - 0x1400]
cmp eax, 0xa
ja case.0x53521c.5125
xor ecx, ecx
mov cl, byte [eax + 0x535580]
jmp dword [ecx*4 + 0x535568]
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
or edx, 0xffffffff
lea ecx, [edi + 1]
sub edx, ebx
lea eax, [ebx + 1]
mov bl, byte [eax + 1]
add eax, 3
mov byte [ecx - 1], bl
mov bl, byte [eax - 3]
mov byte [ecx], bl
mov bl, byte [eax - 4]
mov byte [ecx + 1], bl
mov byte [ecx + 2], 0xff
lea ebx, [edx + eax]
add ecx, 4
cmp ebx, esi
jb 0x533b75
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov edx, dword [esp + 0x10]
dec esi
mov eax, 0xaaaaaaab
lea ecx, [edi + 4]
lea ebx, [edx + 2]
mul esi
shr edx, 1
inc edx
mov eax, 0xffff
mov si, word [ebx + 2]
add ebx, 6
mov word [ecx - 4], si
mov si, word [ebx - 6]
mov word [ecx - 2], si
mov si, word [ebx - 8]
mov word [ecx], si
mov word [ecx + 2], ax
add ecx, 8
dec edx
jne 0x533bbe
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
dec esi
lea ecx, [edi + 8]
lea ebx, [eax + 4]
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
inc edx
mov eax, dword [ebx + 4]
add ebx, 0xc
mov dword [ecx - 8], eax
mov eax, dword [ebx - 0xc]
mov dword [ecx - 4], eax
mov eax, dword [ebx - 0x10]
mov dword [ecx], eax
mov dword [ecx + 4], 0xffffffff
add ecx, 0x10
dec edx
jne 0x533c04
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov edx, dword [esp + 0x10]
dec esi
mov eax, 0xaaaaaaab
lea ecx, [edi + 8]
lea ebx, [edx + 4]
mul esi
mov eax, edx
shr eax, 1
inc eax
mov edx, dword [ebx + 4]
add ebx, 0xc
mov dword [ecx - 8], edx
mov edx, dword [ebx - 0xc]
mov dword [ecx - 4], edx
mov edx, dword [ebx - 0x10]
mov dword [ecx], edx
mov dword [ecx + 4], 0x3f800000
add ecx, 0x10
dec eax
jne 0x533c49
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
dec esi
lea ecx, [edi + 0x10]
lea ebx, [eax + 8]
mov eax, 0xaaaaaaab
mul esi
mov eax, edx
shr eax, 1
inc eax
xor edx, edx
mov esi, dword [ebx + 8]
add ebx, 0x18
mov dword [ecx - 0x10], esi
mov esi, dword [ebx - 0xc]
mov dword [ecx - 0xc], esi
mov esi, dword [ebx - 0x18]
mov dword [ecx - 8], esi
mov esi, dword [ebx - 0x14]
mov dword [ecx - 4], esi
mov esi, dword [ebx - 0x20]
mov dword [ecx], esi
mov esi, dword [ebx - 0x1c]
mov dword [ecx + 4], esi
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], 0x3ff00000
add ecx, 0x20
dec eax
jne 0x533c90
jmp case.0x53521c.5125
mov ecx, esi
imul ecx, ebx
push ecx
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov edx, dword [ebp + 0x18]
lea eax, [edx - 0x1400]
cmp eax, 0xa
ja case.0x53521c.5125
xor ecx, ecx
mov cl, byte [eax + 0x5355a4]
jmp dword [ecx*4 + 0x53558c]
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
or ebx, 0xffffffff
mov edx, ecx
sub ecx, edi
sub ebx, edi
lea eax, [edi + 1]
mov dword [esp + 0x18], ebx
mov bl, byte [ecx + eax + 1]
add edx, 3
mov byte [eax - 1], bl
mov bl, byte [ecx + eax]
mov byte [eax], bl
mov bl, byte [edx - 3]
mov byte [eax + 1], bl
mov ebx, dword [esp + 0x18]
add eax, 3
add ebx, eax
cmp ebx, esi
jb 0x533d1d
jmp case.0x53521c.5125
xor ecx, ecx
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
mov edx, edi
sub edx, ebx
lea eax, [ebx + 2]
mov bx, word [eax + 2]
add eax, 6
mov word [edi + ecx*2], bx
mov bx, word [eax - 6]
mov word [edx + eax - 6], bx
mov bx, word [eax - 8]
mov word [edi + ecx*2 + 4], bx
add ecx, 3
cmp ecx, esi
jb 0x533d59
jmp case.0x53521c.5125
xor ecx, ecx
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
mov edx, edi
sub edx, ebx
lea eax, [ebx + 4]
mov ebx, dword [eax + 4]
add eax, 0xc
mov dword [edi + ecx*4], ebx
mov ebx, dword [eax - 0xc]
mov dword [edx + eax - 0xc], ebx
mov ebx, dword [eax - 0x10]
mov dword [edi + ecx*4 + 8], ebx
add ecx, 3
cmp ecx, esi
jb 0x533d97
jmp case.0x53521c.5125
xor ecx, ecx
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
mov edx, edi
sub edx, ebx
lea eax, [ebx + 4]
mov ebx, dword [eax + 4]
add eax, 0xc
mov dword [edi + ecx*4], ebx
mov ebx, dword [eax - 0xc]
mov dword [edx + eax - 0xc], ebx
mov ebx, dword [eax - 0x10]
mov dword [edi + ecx*4 + 8], ebx
add ecx, 3
cmp ecx, esi
jb 0x533dcf
jmp case.0x53521c.5125
xor ecx, ecx
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
mov edx, edi
sub edx, ebx
lea eax, [ebx + 8]
mov ebx, dword [eax + 8]
add eax, 0x18
mov dword [edi + ecx*8], ebx
mov ebx, dword [eax - 0xc]
mov dword [edi + ecx*8 + 4], ebx
mov ebx, dword [eax - 0x18]
mov dword [edx + eax - 0x18], ebx
mov ebx, dword [eax - 0x14]
mov dword [edx + eax - 0x14], ebx
mov ebx, dword [eax - 0x20]
mov dword [edi + ecx*8 + 0x10], ebx
mov ebx, dword [eax - 0x1c]
mov dword [edi + ecx*8 + 0x14], ebx
add ecx, 3
cmp ecx, esi
jb 0x533e07
jmp case.0x53521c.5125
cmp eax, 0x1909
ja 0x533f48
je 0x533e56
sub eax, 0x1907
jmp 0x533f4d
mov edx, esi
imul edx, ebx
shr edx, 1
push edx
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov eax, dword [ebp + 0x18]
add eax, 0xffffec00
cmp eax, 0xa
ja case.0x53521c.5125
xor ecx, ecx
mov cl, byte [eax + 0x5355c8]
jmp dword [ecx*4 + 0x5355b0]
xor eax, eax
test esi, esi
jbe case.0x53521c.5125
mov edx, dword [esp + 0x10]
mov ecx, edi
mov bl, byte [eax + edx]
add eax, 2
mov byte [ecx], bl
inc ecx
cmp eax, esi
jb 0x533e9d
jmp case.0x53521c.5125
xor eax, eax
test esi, esi
jbe case.0x53521c.5125
mov edx, dword [esp + 0x10]
mov ecx, edi
mov bx, word [edx + eax*2]
add eax, 2
mov word [ecx], bx
add ecx, 2
cmp eax, esi
jb 0x533ebf
jmp case.0x53521c.5125
xor eax, eax
test esi, esi
jbe case.0x53521c.5125
mov edx, dword [esp + 0x10]
mov ecx, edi
mov ebx, dword [edx + eax*4]
add eax, 2
mov dword [ecx], ebx
add ecx, 4
cmp eax, esi
jb 0x533ee5
jmp case.0x53521c.5125
xor eax, eax
test esi, esi
jbe case.0x53521c.5125
mov edx, dword [esp + 0x10]
mov ecx, edi
mov ebx, dword [edx + eax*4]
add eax, 2
mov dword [ecx], ebx
add ecx, 4
cmp eax, esi
jb 0x533f09
jmp case.0x53521c.5125
xor eax, eax
test esi, esi
jbe case.0x53521c.5125
mov edx, dword [esp + 0x10]
mov ecx, edi
mov ebx, dword [edx + eax*8]
add eax, 2
mov dword [ecx], ebx
mov ebx, dword [edx + eax*8 - 0xc]
mov dword [ecx + 4], ebx
add ecx, 8
cmp eax, esi
jb 0x533f2d
jmp case.0x53521c.5125
sub eax, 0x80e0
je 0x5340fe
dec eax
je 0x533f65
push 0x510
call fcn.00531cc0
jmp 0x5351d6
mov edx, esi
imul edx, ebx
shr edx, 1
shl edx, 2
push edx
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov eax, dword [ebp + 0x18]
add eax, 0xffffec00
cmp eax, 0xa
ja case.0x53521c.5125
xor ecx, ecx
mov cl, byte [eax + 0x5355ec]
jmp dword [ecx*4 + 0x5355d4]
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
or ecx, 0xffffffff
sub ecx, ebx
lea edx, [edi + 3]
lea eax, [ebx + 1]
mov dword [esp + 0x20], ecx
xor ecx, ecx
mov bl, byte [eax - 1]
mov byte [edx + ecx - 3], bl
inc ecx
cmp ecx, 3
jb 0x533fbc
mov cl, byte [eax]
add eax, 2
mov byte [edx], cl
mov ecx, dword [esp + 0x20]
add ecx, eax
add edx, 4
cmp ecx, esi
jb 0x533fba
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
dec esi
shr esi, 1
inc esi
mov edx, edi
mov dword [esp + 0x1c], esi
mov eax, edx
mov ebx, 3
mov si, word [ecx]
mov word [eax], si
add eax, 2
dec ebx
jne 0x533fff
mov ax, word [ecx + 2]
add ecx, 4
mov word [edx + 6], ax
mov eax, dword [esp + 0x1c]
add edx, 8
dec eax
mov dword [esp + 0x1c], eax
jne 0x533ff8
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
dec esi
shr esi, 1
inc esi
mov edx, edi
mov dword [esp + 0x1c], esi
mov eax, edx
mov ebx, 3
mov esi, dword [ecx]
mov dword [eax], esi
add eax, 4
dec ebx
jne 0x534046
mov eax, dword [ecx + 4]
add ecx, 8
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x1c]
add edx, 0x10
dec eax
mov dword [esp + 0x1c], eax
jne 0x53403f
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
dec esi
shr esi, 1
inc esi
mov edx, edi
mov dword [esp + 0x1c], esi
mov eax, edx
mov ebx, 3
mov esi, dword [ecx]
mov dword [eax], esi
add eax, 4
dec ebx
jne 0x534089
mov eax, dword [ecx + 4]
add ecx, 8
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x1c]
add edx, 0x10
dec eax
mov dword [esp + 0x1c], eax
jne 0x534082
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
dec esi
shr esi, 1
inc esi
mov edx, edi
mov dword [esp + 0x1c], esi
mov ecx, edx
mov ebx, 3
mov esi, dword [eax]
mov dword [ecx], esi
mov esi, dword [eax + 4]
mov dword [ecx + 4], esi
add ecx, 8
dec ebx
jne 0x5340cc
mov ecx, dword [eax + 8]
add eax, 0x10
mov dword [edx + 0x18], ecx
mov ecx, dword [eax - 4]
mov dword [edx + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
add edx, 0x20
dec ecx
mov dword [esp + 0x1c], ecx
jne 0x5340c5
jmp case.0x53521c.5125
mov eax, esi
imul eax, ebx
shr eax, 1
lea edx, [eax + eax*2]
push edx
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov eax, dword [ebp + 0x18]
add eax, 0xffffec00
cmp eax, 0xa
ja case.0x53521c.5125
xor ecx, ecx
mov cl, byte [eax + 0x535610]
jmp dword [ecx*4 + 0x5355f8]
xor ecx, ecx
test esi, esi
jbe case.0x53521c.5125
mov edx, edi
xor eax, eax
mov ebx, dword [esp + 0x10]
inc eax
cmp eax, 3
mov bl, byte [ecx + ebx]
mov byte [edx + eax - 1], bl
jb 0x534146
add ecx, 2
add edx, 3
cmp ecx, esi
jb 0x534144
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
dec esi
shr esi, 1
mov eax, edi
inc esi
mov edx, 3
mov bx, word [ecx]
mov word [eax], bx
add eax, 2
dec edx
jne 0x53417d
add ecx, 4
dec esi
jne 0x534178
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
dec esi
shr esi, 1
mov eax, edi
inc esi
mov edx, 3
mov ebx, dword [ecx]
mov dword [eax], ebx
add eax, 4
dec edx
jne 0x5341ab
add ecx, 8
dec esi
jne 0x5341a6
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
dec esi
shr esi, 1
mov eax, edi
inc esi
mov edx, 3
mov ebx, dword [ecx]
mov dword [eax], ebx
add eax, 4
dec edx
jne 0x5341d7
add ecx, 8
dec esi
jne 0x5341d2
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
dec esi
shr esi, 1
mov eax, edi
inc esi
mov edx, 3
mov ebx, dword [ecx]
mov dword [eax], ebx
mov ebx, dword [ecx + 4]
mov dword [eax + 4], ebx
add eax, 8
dec edx
jne 0x534203
add ecx, 0x10
dec esi
jne 0x5341fe
jmp case.0x53521c.5125
sub ecx, 0x80e0
je 0x534ad5
dec ecx
jne case.0x53521c.5125
cmp eax, 0x1909
ja 0x534742
je 0x53455d
sub eax, 0x1907
je 0x5343f8
dec eax
jne 0x534754
mov edx, esi
imul edx, ebx
push edx
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov eax, dword [ebp + 0x18]
add eax, 0xffffec00
cmp eax, 0xa
ja case.0x53521c.5125
xor ecx, ecx
mov cl, byte [eax + 0x535634]
jmp dword [ecx*4 + 0x53561c]
test esi, esi
jbe case.0x53521c.5125
mov edx, dword [esp + 0x10]
or ebx, 0xffffffff
lea eax, [edi + 1]
lea ecx, [edx + 3]
sub edx, edi
sub ebx, edi
mov dword [esp + 0x18], ebx
mov bl, byte [eax + edx + 1]
add ecx, 4
mov byte [eax - 1], bl
mov bl, byte [eax + edx]
mov byte [eax], bl
mov bl, byte [ecx - 7]
mov byte [eax + 1], bl
mov bl, byte [ecx - 4]
mov byte [eax + 2], bl
mov ebx, dword [esp + 0x18]
add eax, 4
add ebx, eax
cmp ebx, esi
jb 0x5342a6
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
mov edx, edi
sub edx, ebx
dec esi
shr esi, 2
lea ecx, [edi + 6]
lea eax, [ebx + 2]
inc esi
mov bx, word [eax + 2]
add eax, 8
mov word [ecx - 6], bx
mov bx, word [eax - 8]
mov word [edx + eax - 8], bx
mov bx, word [eax - 0xa]
mov word [ecx - 2], bx
mov bx, word [eax - 4]
mov word [ecx], bx
add ecx, 8
dec esi
jne 0x5342ee
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
mov edx, edi
sub edx, ebx
dec esi
shr esi, 2
lea ecx, [edi + 0xc]
lea eax, [ebx + 4]
inc esi
mov ebx, dword [eax + 4]
add eax, 0x10
mov dword [ecx - 0xc], ebx
mov ebx, dword [eax - 0x10]
mov dword [edx + eax - 0x10], ebx
mov ebx, dword [eax - 0x14]
mov dword [ecx - 4], ebx
mov ebx, dword [eax - 8]
mov dword [ecx], ebx
add ecx, 0x10
dec esi
jne 0x534337
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
mov edx, edi
sub edx, ebx
dec esi
shr esi, 2
lea ecx, [edi + 0xc]
lea eax, [ebx + 4]
inc esi
mov ebx, dword [eax + 4]
add eax, 0x10
mov dword [ecx - 0xc], ebx
mov ebx, dword [eax - 0x10]
mov dword [edx + eax - 0x10], ebx
mov ebx, dword [eax - 0x14]
mov dword [ecx - 4], ebx
mov ebx, dword [eax - 8]
mov dword [ecx], ebx
add ecx, 0x10
dec esi
jne 0x534378
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
mov edx, edi
sub edx, ebx
dec esi
shr esi, 2
lea ecx, [edi + 0x18]
lea eax, [ebx + 8]
inc esi
mov ebx, dword [eax + 8]
add eax, 0x20
mov dword [ecx - 0x18], ebx
mov ebx, dword [eax - 0x14]
mov dword [ecx - 0x14], ebx
mov ebx, dword [eax - 0x20]
mov dword [edx + eax - 0x20], ebx
mov ebx, dword [eax - 0x1c]
mov dword [edx + eax - 0x1c], ebx
mov ebx, dword [eax - 0x28]
mov dword [ecx - 8], ebx
mov ebx, dword [eax - 0x24]
mov dword [ecx - 4], ebx
mov ebx, dword [eax - 0x10]
mov dword [ecx], ebx
mov ebx, dword [eax - 0xc]
mov dword [ecx + 4], ebx
add ecx, 0x20
dec esi
jne 0x5343b9
jmp case.0x53521c.5125
mov eax, esi
imul eax, ebx
lea edx, [eax + eax*2]
shr edx, 2
push edx
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov eax, dword [ebp + 0x18]
add eax, 0xffffec00
cmp eax, 0xa
ja case.0x53521c.5125
xor ecx, ecx
mov cl, byte [eax + 0x535658]
jmp dword [ecx*4 + 0x535640]
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
or edx, 0xffffffff
lea ecx, [edi + 1]
sub edx, ebx
lea eax, [ebx + 1]
mov bl, byte [eax + 1]
add eax, 4
mov byte [ecx - 1], bl
mov bl, byte [eax - 4]
mov byte [ecx], bl
mov bl, byte [eax - 5]
mov byte [ecx + 1], bl
lea ebx, [eax + edx]
add ecx, 3
cmp ebx, esi
jb 0x53444a
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov edx, dword [esp + 0x10]
dec esi
shr esi, 2
lea ecx, [edi + 4]
lea eax, [edx + 2]
inc esi
mov dx, word [eax + 2]
add eax, 8
mov word [ecx - 4], dx
mov dx, word [eax - 8]
mov word [ecx - 2], dx
mov dx, word [eax - 0xa]
mov word [ecx], dx
add ecx, 6
dec esi
jne 0x534484
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
lea ecx, [edi + 8]
add eax, 4
dec esi
shr esi, 2
inc esi
mov edx, dword [eax + 4]
add eax, 0x10
mov dword [ecx - 8], edx
mov edx, dword [eax - 0x10]
mov dword [ecx - 4], edx
mov edx, dword [eax - 0x14]
mov dword [ecx], edx
add ecx, 0xc
dec esi
jne 0x5344c0
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
lea ecx, [edi + 8]
add eax, 4
dec esi
shr esi, 2
inc esi
mov edx, dword [eax + 4]
add eax, 0x10
mov dword [ecx - 8], edx
mov edx, dword [eax - 0x10]
mov dword [ecx - 4], edx
mov edx, dword [eax - 0x14]
mov dword [ecx], edx
add ecx, 0xc
dec esi
jne 0x5344f6
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
lea ecx, [edi + 0x10]
add eax, 8
dec esi
shr esi, 2
inc esi
mov edx, dword [eax + 8]
add eax, 0x20
mov dword [ecx - 0x10], edx
mov edx, dword [eax - 0x14]
mov dword [ecx - 0xc], edx
mov edx, dword [eax - 0x20]
mov dword [ecx - 8], edx
mov edx, dword [eax - 0x1c]
mov dword [ecx - 4], edx
mov edx, dword [eax - 0x28]
mov dword [ecx], edx
mov edx, dword [eax - 0x24]
mov dword [ecx + 4], edx
add ecx, 0x18
dec esi
jne 0x53452c
jmp case.0x53521c.5125
mov eax, esi
imul eax, ebx
shr eax, 2
push eax
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov ecx, dword [ebp + 0x18]
shr esi, 2
lea eax, [ecx - 0x1400]
mov dword [esp + 0x14], esi
cmp eax, 0xa
ja case.0x53521c.5125
xor edx, edx
mov dl, byte [eax + 0x53567c]
jmp dword [edx*4 + 0x535664]
test esi, esi
mov dword [esp + 0x18], 0
jbe case.0x53521c.5125
mov esi, dword [esp + 0x10]
fld dword [0x5a83e4]
xor eax, eax
mov ecx, 0x5ad468
xor edx, edx
sub ecx, 4
mov dl, byte [esi + eax]
inc eax
mov dword [esp + 0x20], edx
cmp eax, 3
fild dword [esp + 0x20]
fmul dword [ecx + 4]
faddp st(1)
jb 0x5345be
call fcn.0050a970
mov ecx, dword [esp + 0x18]
add esi, 4
mov byte [ecx + edi], al
mov eax, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x18], ecx
jb 0x5345b1
jmp case.0x53521c.5125
xor ebx, ebx
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
fld dword [0x5a83e4]
mov ecx, 0x5ad468
mov edx, 3
xor esi, esi
sub ecx, 4
mov si, word [eax]
add eax, 2
mov dword [esp + 0x20], esi
dec edx
fild dword [esp + 0x20]
fmul dword [ecx + 4]
faddp st(1)
jne 0x53461c
call fcn.0050a970
mov ecx, dword [esp + 0x14]
mov word [edi + ebx*2], ax
mov eax, dword [esp + 0x1c]
inc ebx
add eax, 8
cmp ebx, ecx
mov dword [esp + 0x1c], eax
jb 0x53460c
jmp case.0x53521c.5125
xor ebx, ebx
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
fld qword [0x5a84b8]
mov ecx, 0x5ad468
mov edx, 3
mov esi, dword [eax]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], esi
add eax, 4
fild qword [esp + 0x20]
sub ecx, 4
dec edx
fmul dword [ecx + 4]
faddp st(1)
jne 0x53467b
call fcn.0050a970
mov ecx, dword [esp + 0x14]
mov dword [edi + ebx*4], eax
mov eax, dword [esp + 0x1c]
inc ebx
add eax, 0x10
cmp ebx, ecx
mov dword [esp + 0x1c], eax
jb 0x53466b
jmp case.0x53521c.5125
xor ebx, ebx
test esi, esi
jbe case.0x53521c.5125
mov esi, dword [esp + 0x10]
fld qword [0x5a84b8]
mov ecx, 0x5ad468
mov eax, esi
mov edx, 3
fld dword [eax]
fmul dword [ecx]
add eax, 4
sub ecx, 4
dec edx
faddp st(1)
jne 0x5346dc
fstp dword [edi + ebx*4]
mov eax, dword [esp + 0x14]
inc ebx
add esi, 0x10
cmp ebx, eax
jb 0x5346ca
jmp case.0x53521c.5125
xor ebx, ebx
test esi, esi
jbe case.0x53521c.5125
mov esi, dword [esp + 0x10]
fld qword [0x5a84b8]
mov ecx, 0x5ad468
mov eax, esi
mov edx, 3
fld dword [ecx]
fmul qword [eax]
add eax, 8
sub ecx, 4
dec edx
faddp st(1)
jne 0x53471f
fstp qword [edi + ebx*8]
mov eax, dword [esp + 0x14]
inc ebx
add esi, 0x20
cmp ebx, eax
jb 0x53470d
jmp case.0x53521c.5125
cmp eax, 0x190a
je 0x5348c9
cmp eax, 0x80e0
je 0x534763
push 0x510
call fcn.00531cc0
jmp 0x5351d6
mov eax, esi
imul eax, ebx
lea eax, [eax + eax*2]
shr eax, 2
push eax
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov ecx, dword [ebp + 0x18]
lea eax, [ecx - 0x1400]
cmp eax, 0xa
ja case.0x53521c.5125
xor edx, edx
mov dl, byte [eax + 0x5356a0]
jmp dword [edx*4 + 0x535688]
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
or edx, 0xffffffff
lea ecx, [edi + 1]
sub edx, ebx
lea eax, [ebx + 1]
mov bl, byte [eax - 1]
add eax, 4
mov byte [ecx - 1], bl
mov bl, byte [eax - 4]
mov byte [ecx], bl
mov bl, byte [eax - 3]
mov byte [ecx + 1], bl
lea ebx, [edx + eax]
add ecx, 3
cmp ebx, esi
jb 0x5347b6
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
lea ecx, [edi + 4]
add eax, 4
dec esi
shr esi, 2
inc esi
mov dx, word [eax - 4]
add eax, 8
mov word [ecx - 4], dx
mov dx, word [eax - 0xa]
mov word [ecx - 2], dx
mov dx, word [eax - 8]
mov word [ecx], dx
add ecx, 6
dec esi
jne 0x5347f0
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
lea ecx, [edi + 8]
add eax, 8
dec esi
shr esi, 2
inc esi
mov edx, dword [eax - 8]
add eax, 0x10
mov dword [ecx - 8], edx
mov edx, dword [eax - 0x14]
mov dword [ecx - 4], edx
mov edx, dword [eax - 0x10]
mov dword [ecx], edx
add ecx, 0xc
dec esi
jne 0x53482c
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
lea ecx, [edi + 8]
add eax, 8
dec esi
shr esi, 2
inc esi
mov edx, dword [eax - 8]
add eax, 0x10
mov dword [ecx - 8], edx
mov edx, dword [eax - 0x14]
mov dword [ecx - 4], edx
mov edx, dword [eax - 0x10]
mov dword [ecx], edx
add ecx, 0xc
dec esi
jne 0x534862
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
lea ecx, [edi + 0x10]
add eax, 0x10
dec esi
shr esi, 2
inc esi
mov edx, dword [eax - 0x10]
add eax, 0x20
mov dword [ecx - 0x10], edx
mov edx, dword [eax - 0x2c]
mov dword [ecx - 0xc], edx
mov edx, dword [eax - 0x28]
mov dword [ecx - 8], edx
mov edx, dword [eax - 0x24]
mov dword [ecx - 4], edx
mov edx, dword [eax - 0x20]
mov dword [ecx], edx
mov edx, dword [eax - 0x1c]
mov dword [ecx + 4], edx
add ecx, 0x18
dec esi
jne 0x534898
jmp case.0x53521c.5125
mov eax, esi
imul eax, ebx
shr eax, 2
add eax, eax
push eax
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov ecx, dword [ebp + 0x18]
shr esi, 2
lea eax, [ecx - 0x1400]
add esi, esi
cmp eax, 0xa
mov dword [esp + 0x14], esi
ja case.0x53521c.5125
xor edx, edx
mov dl, byte [eax + 0x5356c4]
jmp dword [edx*4 + 0x5356ac]
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
or eax, 0xffffffff
sub eax, edi
lea esi, [edi + 1]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
fld dword [0x5a83e4]
xor eax, eax
xor edx, edx
add eax, 4
mov dl, byte [ecx]
inc ecx
mov dword [esp + 0x20], edx
cmp eax, 0xc
fild dword [esp + 0x20]
fmul dword [eax + str.Developers_Image_Library_Utilities__ILU__1.6.5]
faddp st(1)
jb 0x534931
call fcn.0050a970
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov byte [esi - 1], al
add esi, 2
mov al, byte [ecx + 3]
add ecx, 4
mov byte [esi - 2], al
lea eax, [esi + edx]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
cmp eax, edx
jb 0x534929
jmp case.0x53521c.5125
xor ebx, ebx
test esi, esi
jbe case.0x53521c.5125
mov esi, dword [esp + 0x10]
fld dword [0x5a83e4]
mov ecx, esi
xor eax, eax
xor edx, edx
add eax, 4
mov dx, word [ecx]
add ecx, 2
mov dword [esp + 0x20], edx
cmp eax, 0xc
fild dword [esp + 0x20]
fmul dword [eax + str.Developers_Image_Library_Utilities__ILU__1.6.5]
faddp st(1)
jb 0x534996
call fcn.0050a970
mov word [edi + ebx*2], ax
mov ax, word [esi + 6]
mov word [edi + ebx*2 + 2], ax
mov eax, dword [esp + 0x14]
add ebx, 2
add esi, 8
cmp ebx, eax
jb 0x53498c
jmp case.0x53521c.5125
xor ebx, ebx
test esi, esi
jbe case.0x53521c.5125
mov esi, dword [esp + 0x10]
fld qword [0x5a84b8]
mov ecx, esi
xor eax, eax
mov edx, dword [ecx]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], edx
add eax, 4
fild qword [esp + 0x20]
add ecx, 4
cmp eax, 0xc
fmul dword [eax + str.Developers_Image_Library_Utilities__ILU__1.6.5]
faddp st(1)
jb 0x5349f3
call fcn.0050a970
mov dword [edi + ebx*4], eax
mov eax, dword [esi + 0xc]
mov dword [edi + ebx*4 + 4], eax
mov eax, dword [esp + 0x14]
add ebx, 2
add esi, 0x10
cmp ebx, eax
jb 0x5349e9
jmp case.0x53521c.5125
mov esi, dword [esp + 0x14]
xor edx, edx
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
fld qword [0x5a84b8]
mov ecx, ebx
xor eax, eax
fld dword [eax + 0x5ad460]
fmul dword [ecx]
add eax, 4
add ecx, 4
cmp eax, 0xc
faddp st(1)
jb 0x534a56
fstp dword [edi + edx*4]
mov ecx, dword [ebx + 0xc]
add ebx, 0x10
mov dword [edi + edx*4 + 4], ecx
add edx, 2
cmp edx, esi
jb 0x534a4c
jmp case.0x53521c.5125
mov esi, dword [esp + 0x14]
xor edx, edx
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
fld qword [0x5a84b8]
mov ecx, ebx
xor eax, eax
fld dword [eax + 0x5ad460]
fmul qword [ecx]
add eax, 4
add ecx, 8
cmp eax, 0xc
faddp st(1)
jb 0x534aa0
fstp qword [edi + edx*8]
mov eax, dword [ebx + 0x18]
add ebx, 0x20
mov dword [edi + edx*8 + 8], eax
mov ecx, dword [ebx - 4]
mov dword [edi + edx*8 + 0xc], ecx
add edx, 2
cmp edx, esi
jb 0x534a96
jmp case.0x53521c.5125
cmp eax, 0x1909
ja 0x534fea
je 0x534e1a
sub eax, 0x1907
je 0x534ca6
dec eax
jne 0x534ffc
mov edx, esi
mov eax, 0xaaaaaaab
imul edx, ebx
shl edx, 2
mul edx
shr edx, 1
push edx
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov eax, dword [ebp + 0x18]
add eax, 0xffffec00
cmp eax, 0xa
ja case.0x53521c.5125
xor ecx, ecx
mov cl, byte [eax + 0x5356e8]
jmp dword [ecx*4 + 0x5356d0]
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
or edx, 0xffffffff
lea ecx, [edi + 1]
sub edx, ebx
lea eax, [ebx + 1]
mov bl, byte [eax + 1]
add eax, 3
mov byte [ecx - 1], bl
mov bl, byte [eax - 3]
mov byte [ecx], bl
mov bl, byte [eax - 4]
mov byte [ecx + 1], bl
mov byte [ecx + 2], 0xff
lea ebx, [edx + eax]
add ecx, 4
cmp ebx, esi
jb 0x534b50
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov edx, dword [esp + 0x10]
dec esi
mov eax, 0xaaaaaaab
lea ecx, [edi + 4]
lea ebx, [edx + 2]
mul esi
shr edx, 1
inc edx
mov eax, 0xffff
mov si, word [ebx + 2]
add ebx, 6
mov word [ecx - 4], si
mov si, word [ebx - 6]
mov word [ecx - 2], si
mov si, word [ebx - 8]
mov word [ecx], si
mov word [ecx + 2], ax
add ecx, 8
dec edx
jne 0x534b99
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
dec esi
lea ecx, [edi + 8]
lea ebx, [eax + 4]
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
inc edx
mov eax, dword [ebx + 4]
add ebx, 0xc
mov dword [ecx - 8], eax
mov eax, dword [ebx - 0xc]
mov dword [ecx - 4], eax
mov eax, dword [ebx - 0x10]
mov dword [ecx], eax
mov dword [ecx + 4], 0xffffffff
add ecx, 0x10
dec edx
jne 0x534bdf
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov edx, dword [esp + 0x10]
dec esi
mov eax, 0xaaaaaaab
lea ecx, [edi + 8]
lea ebx, [edx + 4]
mul esi
mov eax, edx
shr eax, 1
inc eax
mov edx, dword [ebx + 4]
add ebx, 0xc
mov dword [ecx - 8], edx
mov edx, dword [ebx - 0xc]
mov dword [ecx - 4], edx
mov edx, dword [ebx - 0x10]
mov dword [ecx], edx
mov dword [ecx + 4], 0x3f800000
add ecx, 0x10
dec eax
jne 0x534c24
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
dec esi
lea ecx, [edi + 0x10]
lea ebx, [eax + 8]
mov eax, 0xaaaaaaab
mul esi
mov eax, edx
shr eax, 1
inc eax
xor edx, edx
mov esi, dword [ebx + 8]
add ebx, 0x18
mov dword [ecx - 0x10], esi
mov esi, dword [ebx - 0xc]
mov dword [ecx - 0xc], esi
mov esi, dword [ebx - 0x18]
mov dword [ecx - 8], esi
mov esi, dword [ebx - 0x14]
mov dword [ecx - 4], esi
mov esi, dword [ebx - 0x20]
mov dword [ecx], esi
mov esi, dword [ebx - 0x1c]
mov dword [ecx + 4], esi
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], 0x3ff00000
add ecx, 0x20
dec eax
jne 0x534c6b
jmp case.0x53521c.5125
mov ecx, esi
imul ecx, ebx
push ecx
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov edx, dword [ebp + 0x18]
lea eax, [edx - 0x1400]
cmp eax, 0xa
ja case.0x53521c.5125
xor ecx, ecx
mov cl, byte [eax + 0x53570c]
jmp dword [ecx*4 + 0x5356f4]
test esi, esi
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
or ebx, 0xffffffff
mov edx, ecx
sub ecx, edi
sub ebx, edi
lea eax, [edi + 1]
mov dword [esp + 0x18], ebx
mov bl, byte [ecx + eax + 1]
add edx, 3
mov byte [eax - 1], bl
mov bl, byte [ecx + eax]
mov byte [eax], bl
mov bl, byte [edx - 3]
mov byte [eax + 1], bl
mov ebx, dword [esp + 0x18]
add eax, 3
add ebx, eax
cmp ebx, esi
jb 0x534cf8
jmp case.0x53521c.5125
xor ecx, ecx
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
mov edx, edi
sub edx, ebx
lea eax, [ebx + 2]
mov bx, word [eax + 2]
add eax, 6
mov word [edi + ecx*2], bx
mov bx, word [eax - 6]
mov word [edx + eax - 6], bx
mov bx, word [eax - 8]
mov word [edi + ecx*2 + 4], bx
add ecx, 3
cmp ecx, esi
jb 0x534d34
jmp case.0x53521c.5125
xor ecx, ecx
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
mov edx, edi
sub edx, ebx
lea eax, [ebx + 4]
mov ebx, dword [eax + 4]
add eax, 0xc
mov dword [edi + ecx*4], ebx
mov ebx, dword [eax - 0xc]
mov dword [edx + eax - 0xc], ebx
mov ebx, dword [eax - 0x10]
mov dword [edi + ecx*4 + 8], ebx
add ecx, 3
cmp ecx, esi
jb 0x534d72
jmp case.0x53521c.5125
xor ecx, ecx
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
mov edx, edi
sub edx, ebx
lea eax, [ebx + 4]
mov ebx, dword [eax + 4]
add eax, 0xc
mov dword [edi + ecx*4], ebx
mov ebx, dword [eax - 0xc]
mov dword [edx + eax - 0xc], ebx
mov ebx, dword [eax - 0x10]
mov dword [edi + ecx*4 + 8], ebx
add ecx, 3
cmp ecx, esi
jb 0x534daa
jmp case.0x53521c.5125
xor ecx, ecx
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
mov edx, edi
sub edx, ebx
lea eax, [ebx + 8]
mov ebx, dword [eax + 8]
add eax, 0x18
mov dword [edi + ecx*8], ebx
mov ebx, dword [eax - 0xc]
mov dword [edi + ecx*8 + 4], ebx
mov ebx, dword [eax - 0x18]
mov dword [edx + eax - 0x18], ebx
mov ebx, dword [eax - 0x14]
mov dword [edx + eax - 0x14], ebx
mov ebx, dword [eax - 0x20]
mov dword [edi + ecx*8 + 0x10], ebx
mov ebx, dword [eax - 0x1c]
mov dword [edi + ecx*8 + 0x14], ebx
add ecx, 3
cmp ecx, esi
jb 0x534de2
jmp case.0x53521c.5125
mov edx, esi
mov eax, 0xaaaaaaab
imul edx, ebx
mul edx
shr edx, 1
push edx
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov eax, 0xaaaaaaab
mul esi
mov eax, dword [ebp + 0x18]
mov ebx, edx
add eax, 0xffffec00
shr ebx, 1
cmp eax, 0xa
mov dword [esp + 0x14], ebx
ja case.0x53521c.5125
xor ecx, ecx
mov cl, byte [eax + 0x535730]
jmp dword [ecx*4 + 0x535718]
test ebx, ebx
mov dword [esp + 0x18], 0
jbe case.0x53521c.5125
mov esi, dword [esp + 0x10]
fld dword [0x5a83e4]
xor eax, eax
mov ecx, 0x5ad468
xor edx, edx
sub ecx, 4
mov dl, byte [esi + eax]
inc eax
mov dword [esp + 0x20], edx
cmp eax, 3
fild dword [esp + 0x20]
fmul dword [ecx + 4]
faddp st(1)
jb 0x534e88
call fcn.0050a970
mov ecx, dword [esp + 0x18]
add esi, 3
mov byte [ecx + edi], al
mov eax, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x18], ecx
jb 0x534e7b
jmp case.0x53521c.5125
test ebx, ebx
mov dword [esp + 0x18], 0
jbe case.0x53521c.5125
mov esi, dword [esp + 0x10]
fld dword [0x5a83e4]
mov eax, 0x5ad468
mov ecx, 3
xor edx, edx
sub eax, 4
mov dx, word [esi]
add esi, 2
mov dword [esp + 0x20], edx
dec ecx
fild dword [esp + 0x20]
fmul dword [eax + 4]
faddp st(1)
jne 0x534ee8
call fcn.0050a970
mov ecx, dword [esp + 0x18]
mov word [edi + ecx*2], ax
inc ecx
cmp ecx, ebx
mov dword [esp + 0x18], ecx
jb 0x534ed8
jmp case.0x53521c.5125
mov eax, dword [esp + 0x14]
xor ebx, ebx
test eax, eax
jbe case.0x53521c.5125
mov esi, dword [esp + 0x10]
fld qword [0x5a84b8]
mov eax, 0x5ad468
mov ecx, 3
mov edx, dword [esi]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], edx
add esi, 4
fild qword [esp + 0x20]
sub eax, 4
dec ecx
fmul dword [eax + 4]
faddp st(1)
jne 0x534f40
call fcn.0050a970
mov dword [edi + ebx*4], eax
mov eax, dword [esp + 0x14]
inc ebx
cmp ebx, eax
jb 0x534f30
jmp case.0x53521c.5125
xor esi, esi
test ebx, ebx
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
fld qword [0x5a84b8]
mov ecx, 0x5ad468
mov edx, 3
fld dword [eax]
fmul dword [ecx]
add eax, 4
sub ecx, 4
dec edx
faddp st(1)
jne 0x534f94
fstp dword [edi + esi*4]
inc esi
cmp esi, ebx
jb 0x534f84
jmp case.0x53521c.5125
xor esi, esi
test ebx, ebx
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
fld qword [0x5a84b8]
mov ecx, 0x5ad468
mov edx, 3
fld dword [ecx]
fmul qword [eax]
add eax, 8
sub ecx, 4
dec edx
faddp st(1)
jne 0x534fce
fstp qword [edi + esi*8]
inc esi
cmp esi, ebx
jb 0x534fbe
jmp case.0x53521c.5125
cmp eax, 0x190a
je 0x5351ba
cmp eax, 0x80e1
je 0x53500b
push 0x510
call fcn.00531cc0
jmp 0x5351d6
mov ecx, esi
mov eax, 0xaaaaaaab
imul ecx, ebx
shl ecx, 2
mul ecx
shr edx, 1
push edx
call fcn.00531d40
mov edi, eax
test edi, edi
je 0x5351d6
mov edx, dword [ebp + 0x18]
lea eax, [edx - 0x1400]
cmp eax, 0xa
ja case.0x53521c.5125
xor ecx, ecx
mov cl, byte [eax + 0x535754]
jmp dword [ecx*4 + 0x53573c]
test esi, esi
jbe case.0x53521c.5125
mov ebx, dword [esp + 0x10]
or edx, 0xffffffff
lea ecx, [edi + 1]
sub edx, ebx
lea eax, [ebx + 1]
mov bl, byte [eax - 1]
add eax, 3
mov byte [ecx - 1], bl
mov bl, byte [eax - 3]
mov byte [ecx], bl
mov bl, byte [eax - 2]
mov byte [ecx + 1], bl
mov byte [ecx + 2], 0xff
lea ebx, [eax + edx]
add ecx, 4
cmp ebx, esi
jb 0x535064
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov edx, dword [esp + 0x10]
dec esi
mov eax, 0xaaaaaaab
lea ecx, [edi + 4]
lea ebx, [edx + 4]
mul esi
shr edx, 1
inc edx
mov eax, 0xffff
mov si, word [ebx - 4]
add ebx, 6
mov word [ecx - 4], si
mov si, word [ebx - 8]
mov word [ecx - 2], si
mov si, word [ebx - 6]
mov word [ecx], si
mov word [ecx + 2], ax
add ecx, 8
dec edx
jne 0x5350ad
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
dec esi
lea ecx, [edi + 8]
lea ebx, [eax + 8]
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
inc edx
mov eax, dword [ebx - 8]
add ebx, 0xc
mov dword [ecx - 8], eax
mov eax, dword [ebx - 0x10]
mov dword [ecx - 4], eax
mov eax, dword [ebx - 0xc]
mov dword [ecx], eax
mov dword [ecx + 4], 0xffffffff
add ecx, 0x10
dec edx
jne 0x5350f3
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov edx, dword [esp + 0x10]
dec esi
mov eax, 0xaaaaaaab
lea ecx, [edi + 8]
lea ebx, [edx + 8]
mul esi
mov eax, edx
shr eax, 1
inc eax
mov edx, dword [ebx - 8]
add ebx, 0xc
mov dword [ecx - 8], edx
mov edx, dword [ebx - 0x10]
mov dword [ecx - 4], edx
mov edx, dword [ebx - 0xc]
mov dword [ecx], edx
mov dword [ecx + 4], 0x3f800000
add ecx, 0x10
dec eax
jne 0x535138
jmp case.0x53521c.5125
test esi, esi
jbe case.0x53521c.5125
mov eax, dword [esp + 0x10]
dec esi
lea ecx, [edi + 0x10]
lea ebx, [eax + 0x10]
mov eax, 0xaaaaaaab
mul esi
mov eax, edx
shr eax, 1
inc eax
xor edx, edx
mov esi, dword [ebx - 0x10]
add ebx, 0x18
mov dword [ecx - 0x10], esi
mov esi, dword [ebx - 0x24]
mov dword [ecx - 0xc], esi
mov esi, dword [ebx - 0x20]
mov dword [ecx - 8], esi
mov esi, dword [ebx - 0x1c]
mov dword [ecx - 4], esi
mov esi, dword [ebx - 0x18]
mov dword [ecx], esi
mov esi, dword [ebx - 0x14]
mov dword [ecx + 4], esi
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], 0x3ff00000
add ecx, 0x20
dec eax
jne 0x53517f
jmp case.0x53521c.5125
mov ecx, esi
mov eax, 0xaaaaaaab
imul ecx, ebx
mul ecx
shr edx, 1
add edx, edx
push edx
call fcn.00531d40
mov edi, eax
test edi, edi
jne 0x5351f6
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 0x1c]
cmp eax, ecx
je 0x5353d0
push eax
call fcn.00531d70
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov eax, 0xaaaaaaab
mul esi
mov eax, dword [ebp + 0x18]
add eax, 0xffffec00
shr edx, 1
cmp eax, 0xa
mov dword [esp + 0x14], edx
ja case.0x53521c.5125
xor ecx, ecx
mov cl, byte [eax + 0x535778]
jmp dword [ecx*4 + 0x535760]
test edx, edx
mov dword [esp + 0x18], 0
jbe case.0x53521c.5125
mov esi, dword [esp + 0x10]
fld dword [0x5a83e4]
xor eax, eax
xor edx, edx
add eax, 4
mov dl, byte [esi]
inc esi
mov dword [esp + 0x20], edx
cmp eax, 0xc
fild dword [esp + 0x20]
fmul dword [eax + str.Developers_Image_Library_Utilities__ILU__1.6.5]
faddp st(1)
jb 0x53523f
call fcn.0050a970
mov ecx, dword [esp + 0x18]
mov byte [edi + ecx*2], al
mov eax, dword [esp + 0x14]
mov byte [edi + ecx*2 + 1], 0xff
inc ecx
cmp ecx, eax
mov dword [esp + 0x18], ecx
jb 0x535237
jmp case.0x53521c.5125
xor ebx, ebx
test edx, edx
jbe case.0x53521c.5125
mov esi, dword [esp + 0x10]
fld dword [0x5a83e4]
xor eax, eax
xor ecx, ecx
add eax, 4
mov cx, word [esi]
add esi, 2
mov dword [esp + 0x20], ecx
cmp eax, 0xc
fild dword [esp + 0x20]
fmul dword [eax + str.Developers_Image_Library_Utilities__ILU__1.6.5]
faddp st(1)
jb 0x535295
call fcn.0050a970
mov word [edi + ebx*4], ax
mov eax, dword [esp + 0x14]
mov word [edi + ebx*4 + 2], 0xffff
inc ebx
cmp ebx, eax
jb 0x53528d
jmp case.0x53521c.5125
mov eax, dword [esp + 0x14]
xor ecx, ecx
xor ebx, ebx
cmp eax, ecx
jbe case.0x53521c.5125
mov esi, dword [esp + 0x10]
jmp 0x5352eb
xor ecx, ecx
fld dword [0x5a83e4]
xor eax, eax
mov edx, dword [esi]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edx
add eax, 4
fild qword [esp + 0x20]
add esi, 4
cmp eax, 0xc
fmul dword [eax + str.Developers_Image_Library_Utilities__ILU__1.6.5]
faddp st(1)
jb 0x5352f3
call fcn.0050a970
mov dword [edi + ebx*8], eax
mov eax, dword [esp + 0x14]
mov dword [edi + ebx*8 + 4], 0xffffffff
inc ebx
cmp ebx, eax
jb 0x5352e9
jmp case.0x53521c.5125
xor esi, esi
test edx, edx
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
fld dword [0x5a83e4]
xor eax, eax
fld dword [eax + 0x5ad460]
fmul dword [ecx]
add eax, 4
add ecx, 4
cmp eax, 0xc
faddp st(1)
jb 0x535345
fstp dword [edi + esi*8]
mov dword [edi + esi*8 + 4], 0x3f800000
inc esi
cmp esi, edx
jb 0x53533d
jmp case.0x53521c.5125
test edx, edx
jbe case.0x53521c.5125
mov ecx, dword [esp + 0x10]
mov esi, edi
mov ebx, 0x3ff00000
fld qword [0x5a84b8]
xor eax, eax
fld dword [eax + 0x5ad460]
fmul qword [ecx]
add eax, 4
add ecx, 8
cmp eax, 0xc
faddp st(1)
jb 0x535383
fstp qword [esi]
mov dword [esi + 8], 0
mov dword [esi + 0xc], ebx
add esi, 0x10
dec edx
jne 0x53537b
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 0x1c]
cmp eax, ecx
je 0x5353bb
push eax
call fcn.00531d70
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
push 0x509
call fcn.00531cc0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x18